Ivan Braginski <ivan.braginski@xxxxxxxx> writes: > --- a/drivers/usb/gadget/pxa27x_udc.c > +++ b/drivers/usb/gadget/pxa27x_udc.c > @@ -1195,7 +1195,7 @@ static int pxa_ep_queue(struct usb_ep *_ > ep0_end_in_req(ep, req); > break; > case OUT_DATA_STAGE: > - if ((length == 0) || !epout_has_pkt(ep)) > + if ((length == 0) || epout_has_pkt(ep)) > if (read_ep0_fifo(ep, req)) > ep0_end_out_req(ep, req); > break; OK for the code patch. I will make a test with usbtest/g_zero to be sure. Would you mind describing before the patch what that improves (ie. if I'm not mistaken the out data stage), and in which case you've seen the broken behaviour ? Do you have a testcase where the Setup is not properly done because of that bug ? I was thinking that usbtest and g_zero would have caught that case, but it might be a corner case I'm not thinking properly about. Cheers. -- Robert -- 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