Re: [PATCH v2] usbip: vudc: fix: Clear already_seen flag also for ep0

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

 



On 12/01/2016 11:14 AM, Krzysztof Opasiak wrote:
> ep_list inside gadget structure doesn't contain ep0.
> It is stored separately in ep0 field.
> 
> This causes an urb hang if gadget driver decides to
> delay setup handling. On host side this is visible as
> timeout error when setting configuration.
> 
> This bug can be reproduced using for example any gadget
> with mass storage function.
> 
> Fixes: abdb29574322 ("usbip: vudc: Add vudc_transfer")
> Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx>

Greg,

Assuming you want to continue in the same mode as you pulling
in the USB/IP patches with Ack. This patch looks good. Please
pick this up. If you want me to maintain USB/IP tree and send you
pull request, I can do that as well. Whatever works for you.

Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>

thanks,
-- Shuah

> ---
> Changes since v1:
> - Use first 12 digits of commit sha in fixes tag
> 
> ---
>  drivers/usb/usbip/vudc_transfer.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/usbip/vudc_transfer.c b/drivers/usb/usbip/vudc_transfer.c
> index aba6bd4..bc0296d 100644
> --- a/drivers/usb/usbip/vudc_transfer.c
> +++ b/drivers/usb/usbip/vudc_transfer.c
> @@ -339,6 +339,8 @@ static void v_timer(unsigned long _vudc)
>  		total = timer->frame_limit;
>  	}
>  
> +	/* We have to clear ep0 flags separately as it's not on the list */
> +	udc->ep[0].already_seen = 0;
>  	list_for_each_entry(_ep, &udc->gadget.ep_list, ep_list) {
>  		ep = to_vep(_ep);
>  		ep->already_seen = 0;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux