On Wed, 17 Jun 2009, Cai, Cliff wrote: > >> we've published said logs here: > >> > >https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:mus > >> b#usb_stick_w_no_ping > > > >I looked at these files, but it wasn't clear what they > >contained. As far as I can see, they show various devices > >working okay. So what's the problem? > > > >Do you have any traces of devices _failing_ to work because > >they don't implement the PING protocol correctly? > > According to usb2.0 spec (see 8.5.1.1),Full-/low-speed devices/endpoints > must not support the PING protocol. Host controllers must not support > the PING protocol for full-/low-speed devices.So if host receives NAK > responses for longer than the time set by the > NAKLimit0 register,it should stop send PING. What is the point of this comment? It does not seem to be relevant to the thread under discussion. (The last sentence doesn't even make any sense.) We are talking about changing the musb driver to disable the PING protocol during the status stage of a control-IN transfer to a high-speed device. I have not seen any evidence at all that such a change is necessary. People have claimed in writing that they have a buggy USB stick which requires it, but they have not posted any bus traces which back up these claims. If it helps, I believe the USB spec allows a host to assume initially that the device's endpoint buffer is empty and so PING is not needed. The host would revert to using PING only when the device replied to an OUT transfer with NAK or NYET or timeout. This might be sufficient to resolve the issue. 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