]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xhci: gracefully handle xhci_irq dead device
authorJoe Lawrence <joe.lawrence@stratus.com>
Thu, 30 Apr 2015 14:16:04 +0000 (17:16 +0300)
committerZefan Li <lizefan@huawei.com>
Fri, 18 Sep 2015 01:20:39 +0000 (09:20 +0800)
commit 948fa13504f80b9765d2b753691ab94c83a10341 upstream.

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>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Zefan Li <lizefan@huawei.com>
drivers/usb/host/xhci-ring.c

index 744e97e7db532a93aa7d8ff92095e09038f9887a..5e93425424f6ada1926d96f57f2a60eeded68c79 100644 (file)
@@ -2743,7 +2743,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
                xhci_halt(xhci);
 hw_died:
                spin_unlock(&xhci->lock);
-               return -ESHUTDOWN;
+               return IRQ_HANDLED;
        }
 
        /*