Commit bdfca502 authored by Andiry Xu's avatar Andiry Xu Committed by Sarah Sharp

xHCI: prolong host controller halt time limit

xHCI 1.0 spec specifies the xHC shall halt within 16ms after software clears
Run/Stop bit. In xHCI 0.96 spec the time limit is 16 microframes (2ms), it's
too short and often cause dmesg shows "Host controller not halted, aborting
reset." message when rmmod xhci-hcd.

Modify the time limit to comply with xHCI 1.0 specification and prevents the
warning message showing when remove xhci-hcd.
Signed-off-by: default avatarAndiry Xu <andiry.xu@amd.com>
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
parent 019a35f1
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
* along with this program; if not, write to the Free Software Foundation, * along with this program; if not, write to the Free Software Foundation,
* Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* Up to 16 microframes to halt an HC - one microframe is 125 microsectonds */ /* Up to 16 ms to halt an HC */
#define XHCI_MAX_HALT_USEC (16*125) #define XHCI_MAX_HALT_USEC (16*1000)
/* HC not running - set to 1 when run/stop bit is cleared. */ /* HC not running - set to 1 when run/stop bit is cleared. */
#define XHCI_STS_HALT (1<<0) #define XHCI_STS_HALT (1<<0)
......
...@@ -93,7 +93,7 @@ void xhci_quiesce(struct xhci_hcd *xhci) ...@@ -93,7 +93,7 @@ void xhci_quiesce(struct xhci_hcd *xhci)
* *
* Disable any IRQs and clear the run/stop bit. * Disable any IRQs and clear the run/stop bit.
* HC will complete any current and actively pipelined transactions, and * HC will complete any current and actively pipelined transactions, and
* should halt within 16 microframes of the run/stop bit being cleared. * should halt within 16 ms of the run/stop bit being cleared.
* Read HC Halted bit in the status register to see when the HC is finished. * Read HC Halted bit in the status register to see when the HC is finished.
* XXX: shouldn't we set HC_STATE_HALT here somewhere? * XXX: shouldn't we set HC_STATE_HALT here somewhere?
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment