Re: [PATCH v2] usb: gadget: zero: Fix SuperSpeed enumeration for alternate setting 1

From: Roger Quadros
Date: Tue Apr 22 2014 - 08:35:17 EST


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@xxxxxxxxxxxxxxx> # 3.9+
>> Reviewed-by: Felipe Balbi <balbi@xxxxxx>
>> Acked-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>> Signed-off-by: Roger Quadros <rogerq@xxxxxx>
>
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/