Message ID | 1395852398-7578-1-git-send-email-rogerq@ti.com |
---|---|
State | Accepted |
Commit | 9c1b70361e0b38e4acb8e62b54da66538cb77ff2 |
Headers | show |
Hi Felipe, On 03/26/2014 06:46 PM, Roger Quadros wrote: > It was impossible to enumerate on a SuperSpeed (XHCI) host > with alternate setting = 1 due to the wrongly set 'bMaxBurst' > field in the SuperSpeed Endpoint Companion descriptor. > > Testcase: > <host> modprobe -r usbtest; modprobe usbtest alt=1 > <device> modprobe g_zero > plug device to SuperSpeed port on the host. > > Without this patch the host always complains like so > "usb 12-2: Not enough bandwidth for new device state. > usb 12-2: Not enough bandwidth for altsetting 1" > > Bug was introduced by commit cf9a08ae in v3.9 > > Fixes: cf9a08ae5aec (usb: gadget: convert source sink and loopback to > new function interface) > > Cc: 3.9+ <stable@vger.kernel.org> # 3.9+ > Reviewed-by: Felipe Balbi <balbi@ti.com> > Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > Signed-off-by: Roger Quadros <rogerq@ti.com> Can you please queue this for -rc fixes? Thanks. cheers, -roger > --- > drivers/usb/gadget/zero.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c > index 9f170c5..134f354 100644 > --- a/drivers/usb/gadget/zero.c > +++ b/drivers/usb/gadget/zero.c > @@ -300,7 +300,7 @@ static int __init zero_bind(struct usb_composite_dev *cdev) > ss_opts->isoc_interval = gzero_options.isoc_interval; > ss_opts->isoc_maxpacket = gzero_options.isoc_maxpacket; > ss_opts->isoc_mult = gzero_options.isoc_mult; > - ss_opts->isoc_maxburst = gzero_options.isoc_maxpacket; > + ss_opts->isoc_maxburst = gzero_options.isoc_maxburst; > ss_opts->bulk_buflen = gzero_options.bulk_buflen; > > func_ss = usb_get_function(func_inst_ss); > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Felipe, Sorry for the noise. I see that they have been applied already. cheers, -roger On 04/22/2014 03:28 PM, Roger Quadros wrote: > Hi Felipe, > > On 03/26/2014 06:46 PM, Roger Quadros wrote: >> It was impossible to enumerate on a SuperSpeed (XHCI) host >> with alternate setting = 1 due to the wrongly set 'bMaxBurst' >> field in the SuperSpeed Endpoint Companion descriptor. >> >> Testcase: >> <host> modprobe -r usbtest; modprobe usbtest alt=1 >> <device> modprobe g_zero >> plug device to SuperSpeed port on the host. >> >> Without this patch the host always complains like so >> "usb 12-2: Not enough bandwidth for new device state. >> usb 12-2: Not enough bandwidth for altsetting 1" >> >> Bug was introduced by commit cf9a08ae in v3.9 >> >> Fixes: cf9a08ae5aec (usb: gadget: convert source sink and loopback to >> new function interface) >> >> Cc: 3.9+ <stable@vger.kernel.org> # 3.9+ >> Reviewed-by: Felipe Balbi <balbi@ti.com> >> Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> >> Signed-off-by: Roger Quadros <rogerq@ti.com> > > Can you please queue this for -rc fixes? Thanks. > > cheers, > -roger > >> --- >> drivers/usb/gadget/zero.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c >> index 9f170c5..134f354 100644 >> --- a/drivers/usb/gadget/zero.c >> +++ b/drivers/usb/gadget/zero.c >> @@ -300,7 +300,7 @@ static int __init zero_bind(struct usb_composite_dev *cdev) >> ss_opts->isoc_interval = gzero_options.isoc_interval; >> ss_opts->isoc_maxpacket = gzero_options.isoc_maxpacket; >> ss_opts->isoc_mult = gzero_options.isoc_mult; >> - ss_opts->isoc_maxburst = gzero_options.isoc_maxpacket; >> + ss_opts->isoc_maxburst = gzero_options.isoc_maxburst; >> ss_opts->bulk_buflen = gzero_options.bulk_buflen; >> >> func_ss = usb_get_function(func_inst_ss); >> > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c index 9f170c5..134f354 100644 --- a/drivers/usb/gadget/zero.c +++ b/drivers/usb/gadget/zero.c @@ -300,7 +300,7 @@ static int __init zero_bind(struct usb_composite_dev *cdev) ss_opts->isoc_interval = gzero_options.isoc_interval; ss_opts->isoc_maxpacket = gzero_options.isoc_maxpacket; ss_opts->isoc_mult = gzero_options.isoc_mult; - ss_opts->isoc_maxburst = gzero_options.isoc_maxpacket; + ss_opts->isoc_maxburst = gzero_options.isoc_maxburst; ss_opts->bulk_buflen = gzero_options.bulk_buflen; func_ss = usb_get_function(func_inst_ss);