On Mon, 11 Apr 2011, Roger Quadros wrote: > On 04/06/2011 10:11 PM, ext Alan Stern wrote: > > On Wed, 6 Apr 2011, Sonasath, Moiz wrote: > > > >> All, > >> > >> I am working on android kernel based on K35, and I see these bunch of > >> device configure failures. Any pointers would really help. > > > > Which gadget driver are you using? > > > > Have you enabled verbose debugging in the gadget driver? > > > > I've kind of come to realize why this is happening. > > It is a timing related issue. MSC tests issues two set configurations and set > interface (alt 0) and immediately follow with a CBW. > > In the current composite framework + f_mass_storage setup, the actual enabling > and disabling of endpoints is done in a background thread, while the setup > requests are allowed to complete through composite.c. > > (notice that DELAYED_RESPONSE is not correctly implemented here as in > file_storage.c) > > The CBW is received by the controller but due to large latency in scheduling the > thread to process the CONFIG_STATE_CHANGE state, the endpoints get reset after > the CBW is received, instead of before, thus loosing the CBW. That certainly would explain the problem. Can you come up with a patch for implemented DELAYED_RESPONSE properly in the composite framework? And maybe give it a name more suitable for public use, like USB_GADGET_DELAYED_RESPONSE? Alan Stern -- 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