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