summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorJoe Lawrence2015-04-30 16:16:04 +0200
committerGreg Kroah-Hartman2015-05-09 18:27:32 +0200
commit948fa13504f80b9765d2b753691ab94c83a10341 (patch)
tree09d5b47d5dcaee540ee235f4158d3bf6e15cc40c /drivers/usb/host
parentxhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256 (diff)
downloadkernel-qcow2-linux-948fa13504f80b9765d2b753691ab94c83a10341.tar.gz
kernel-qcow2-linux-948fa13504f80b9765d2b753691ab94c83a10341.tar.xz
kernel-qcow2-linux-948fa13504f80b9765d2b753691ab94c83a10341.zip
xhci: gracefully handle xhci_irq dead device
If the xHCI host controller has died (ie, device removed) or suffered other serious fatal error (STS_FATAL), then xhci_irq should handle this condition with IRQ_HANDLED instead of -ESHUTDOWN. Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com> Cc: <stable@vger.kernel.org> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/xhci-ring.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index ae0894c7ee11..7d34cbfaf373 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2645,7 +2645,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
xhci_halt(xhci);
hw_died:
spin_unlock(&xhci->lock);
- return -ESHUTDOWN;
+ return IRQ_HANDLED;
}
/*