On Tue, Jul 21, 2015 at 09:29:17AM -0500, Felipe Balbi wrote: > From: John Youn <John.Youn@xxxxxxxxxxxx> > > This fixes an issue introduced in commit b23c843992b6 (usb: dwc3: > gadget: fix DEPSTARTCFG for non-EP0 EPs) that made sure we would > only use DEPSTARTCFG once per SetConfig. > > The trick is that we should use one DEPSTARTCFG per SetConfig *OR* > SetInterface. SetInterface was completely missed from the original > patch. > > This problem became aparent after commit 76e838c9f776 (usb: dwc3: > gadget: return error if command sent to DEPCMD register fails) > added checking of the return status of device endpoint commands. > > 'Set Endpoint Transfer Resource' command was caught failing > occasionally. This is because the Transfer Resource > Index was not getting reset during a SET_INTERFACE request. > > Finally, to fix the issue, was we have to do is make sure that > our start_config_issued flag gets reset whenever we receive a > SetInterface request. > > To verify the problem (and its fix), all we have to do is run > test 9 from testusb with 'testusb -t 9 -s 2048 -a -c 5000'. > > Fixes: b23c843992b6 (usb: dwc3: gadget: fix DEPSTARTCFG for non-EP0 EPs) > Cc: <stable@xxxxxxxxxxxxxxx> # v3.2+ > Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> > Signed-off-by: Felipe Balbi <balbi@xxxxxx> Felipe, I've verified it in my side. :) ray@hr-slim:~/linux-usb$ sudo ./tools/usb/testusb -D /dev/bus/usb/002/004 -t 9 -s 2048 -a -c 5000 unknown speed /dev/bus/usb/002/004 0 /dev/bus/usb/002/004 test 9, 15.300784 secs Tested-by: Huang Rui <ray.huang@xxxxxxx> -- 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