aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-q.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
index 6e28e593c044..5ada7cd5698b 100644
--- a/drivers/usb/host/ehci-q.c
+++ b/drivers/usb/host/ehci-q.c
@@ -1022,12 +1022,14 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)
1022 /* stop async schedule right now? */ 1022 /* stop async schedule right now? */
1023 if (unlikely (qh == ehci->async)) { 1023 if (unlikely (qh == ehci->async)) {
1024 /* can't get here without STS_ASS set */ 1024 /* can't get here without STS_ASS set */
1025 if (ehci_to_hcd(ehci)->state != HC_STATE_HALT) { 1025 if (ehci_to_hcd(ehci)->state != HC_STATE_HALT
1026 && !ehci->reclaim) {
1027 /* ... and CMD_IAAD clear */
1026 writel (cmd & ~CMD_ASE, &ehci->regs->command); 1028 writel (cmd & ~CMD_ASE, &ehci->regs->command);
1027 wmb (); 1029 wmb ();
1028 // handshake later, if we need to 1030 // handshake later, if we need to
1031 timer_action_done (ehci, TIMER_ASYNC_OFF);
1029 } 1032 }
1030 timer_action_done (ehci, TIMER_ASYNC_OFF);
1031 return; 1033 return;
1032 } 1034 }
1033 1035