[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1611241144030.10975-100000@netrider.rowland.org>
Date: Thu, 24 Nov 2016 11:53:52 -0500 (EST)
From: Alan Stern <stern@...land.harvard.edu>
To: Sriram Dash <sriram.dash@....com>
cc: Jerry Huang <jerry.huang@....com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"julia.lawall@...6.fr" <julia.lawall@...6.fr>,
Ramneek Mehresh <ramneek.mehresh@....com>,
Suresh Gupta <suresh.gupta@....com>
Subject: RE: [PATCH] fsl/usb: Workarourd for USB erratum-A005697
On Thu, 24 Nov 2016, Sriram Dash wrote:
> >From: Changming Huang [mailto:jerry.huang@....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
Powered by blists - more mailing lists