aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci.c')
-rw-r--r--drivers/usb/host/xhci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index c59d5b5b6c7d..f425356e71f2 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -104,9 +104,10 @@ int xhci_halt(struct xhci_hcd *xhci)
104 104
105 ret = handshake(xhci, &xhci->op_regs->status, 105 ret = handshake(xhci, &xhci->op_regs->status,
106 STS_HALT, STS_HALT, XHCI_MAX_HALT_USEC); 106 STS_HALT, STS_HALT, XHCI_MAX_HALT_USEC);
107 if (!ret) 107 if (!ret) {
108 xhci->xhc_state |= XHCI_STATE_HALTED; 108 xhci->xhc_state |= XHCI_STATE_HALTED;
109 else 109 xhci->cmd_ring_state = CMD_RING_STATE_STOPPED;
110 } else
110 xhci_warn(xhci, "Host not halted after %u microseconds.\n", 111 xhci_warn(xhci, "Host not halted after %u microseconds.\n",
111 XHCI_MAX_HALT_USEC); 112 XHCI_MAX_HALT_USEC);
112 return ret; 113 return ret;
@@ -485,6 +486,7 @@ static int xhci_run_finished(struct xhci_hcd *xhci)
485 return -ENODEV; 486 return -ENODEV;
486 } 487 }
487 xhci->shared_hcd->state = HC_STATE_RUNNING; 488 xhci->shared_hcd->state = HC_STATE_RUNNING;
489 xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
488 490
489 if (xhci->quirks & XHCI_NEC_HOST) 491 if (xhci->quirks & XHCI_NEC_HOST)
490 xhci_ring_cmd_db(xhci); 492 xhci_ring_cmd_db(xhci);