Messages in this thread | | | Date | Thu, 24 Nov 2016 11:53:52 -0500 (EST) | From | Alan Stern <> | Subject | RE: [PATCH] fsl/usb: Workarourd for USB erratum-A005697 |
| |
On Thu, 24 Nov 2016, Sriram Dash wrote:
> >From: Changming Huang [mailto:jerry.huang@nxp.com] > >As per USB specification, in the Suspend state, the status bit does not change until > >the port is suspended. However, there may be a delay in suspending a port if there > >is a transaction currently in progress on the bus. > > > >In the USBDR controller, the PORTSCx[SUSP] bit changes immediately when the > >application sets it and not when the port is actually suspended > > > >Workaround for this issue involves waiting for a minimum of 10ms to allow the > >controller to go into SUSPEND state before proceeding ahead
The USB core guarantees that there won't be any data transactions in progress when a root hub is suspended. There might possibly be an SOF transaction, but that doesn't take more than a few microseconds at most. Certainly nowhere near 10 ms!
Given that we already perform a 150-us delay, is this change really needed?
Alan Stern
| |