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 <[email protected]>
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 <[email protected]>
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html