diff options
author | Alex Shi <alex.shi@linaro.org> | 2016-10-18 12:30:16 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-10-18 12:30:16 +0800 |
commit | 575245c4212d0ee74aa3f4d5f0ca2b1a6ff5e5c9 (patch) | |
tree | cd9c35ae15c4574b86691d0eca31fd43f305f94e /drivers/usb/host/xhci-ring.c | |
parent | 7ddc655ad909372848a3e7995e222c2b9224c2e0 (diff) | |
parent | 91473db3a3257eacead8f4d84cf4bc96c447193f (diff) |
Merge tag 'v4.1.34' into linux-linaro-lsk-v4.1
This is the 4.1.34 stable release
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index f7e917866e05..6a2911743829 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -846,6 +846,10 @@ void xhci_stop_endpoint_command_watchdog(unsigned long arg) spin_lock_irqsave(&xhci->lock, flags); ep->stop_cmds_pending--; + if (xhci->xhc_state & XHCI_STATE_REMOVING) { + spin_unlock_irqrestore(&xhci->lock, flags); + return; + } if (xhci->xhc_state & XHCI_STATE_DYING) { xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, "Stop EP timer ran, but another timer marked " @@ -899,7 +903,7 @@ void xhci_stop_endpoint_command_watchdog(unsigned long arg) spin_unlock_irqrestore(&xhci->lock, flags); xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, "Calling usb_hc_died()"); - usb_hc_died(xhci_to_hcd(xhci)->primary_hcd); + usb_hc_died(xhci_to_hcd(xhci)); xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, "xHCI host controller is dead."); } |