diff options
Diffstat (limited to 'drivers/usb/host/xhci.c')
-rw-r--r-- | drivers/usb/host/xhci.c | 6 |
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); |