USB: xhci: Clean up xhci_irq() function.
Drop spinlock in xhci_irq() error path. This fixes the issue reported by Oliver Neukum on this thread: http://marc.info/?l=linux-usb&m=124090924401444&w=2 Remove unnecessary register read reported by Viral Mehta: http://marc.info/?l=linux-usb&m=124091326007398&w=2 Reported-by: Oliver Neukum <oliver@neukum.org> Reported-by: Viral Mehta <viral.mehta@einfochips.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
23e3be113f
commit
c96a2b81f3
@@ -276,11 +276,11 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
|
|||||||
return IRQ_NONE;
|
return IRQ_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp = xhci_readl(xhci, &xhci->op_regs->status);
|
|
||||||
if (temp & STS_FATAL) {
|
if (temp & STS_FATAL) {
|
||||||
xhci_warn(xhci, "WARNING: Host System Error\n");
|
xhci_warn(xhci, "WARNING: Host System Error\n");
|
||||||
xhci_halt(xhci);
|
xhci_halt(xhci);
|
||||||
xhci_to_hcd(xhci)->state = HC_STATE_HALT;
|
xhci_to_hcd(xhci)->state = HC_STATE_HALT;
|
||||||
|
spin_unlock(&xhci->lock);
|
||||||
return -ESHUTDOWN;
|
return -ESHUTDOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user