diff --git a/drivers/usb/host/xhci-hcd.c b/drivers/usb/host/xhci-hcd.c index 94447bcdf19fe49d786fac9d2227b11a6a95a0e6..57aed12b63d2f99608302e8027ce9775ef712402 100644 --- a/drivers/usb/host/xhci-hcd.c +++ b/drivers/usb/host/xhci-hcd.c @@ -276,11 +276,11 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd) return IRQ_NONE; } - temp = xhci_readl(xhci, &xhci->op_regs->status); if (temp & STS_FATAL) { xhci_warn(xhci, "WARNING: Host System Error\n"); xhci_halt(xhci); xhci_to_hcd(xhci)->state = HC_STATE_HALT; + spin_unlock(&xhci->lock); return -ESHUTDOWN; }