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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]