> > Hi Marek, > > Hi, > > sorry for the really late reply. > > >> Does it also work if you 'setenv usb_pgood_delay 2000' ? > >> > > No, the USB stick is still not initialized. > > > >> Can you include the 5ms patch ? > > > > I've attached the patch which makes it work. Of course, I'm not sure if > > this is > the correct way to fix the problem. You can apply the patch on the master > branch. > > Does this delay have to be added to every control message (unlikely) or to > some specific control message (likely) ?
The delay is necessary, at least for the requests of type: - USB_REQ_GET_STATUS (for the communication with the root) - USB_REQ_GET_DESCRIPTOR (for the communication with the device) I added the delay one by one to each message type and without the delay for these two, it fails as I described. I created the patch which adds delay for all the messages since its simpler and it doesn’t seem to affect the performance. > > Could you try and use the debug() statement in xhci_submit_control_msg() , > as well as move the mdelay(5) there , to find out which exact control message > requires this extra delay ? I also suspect this may not really be related to a > specific control message, but instead some early part of initialization .