]> git.hungrycats.org Git - linux/commitdiff
usb: xhci: Clear XHCI_STATE_DYING on start
authorRoger Quadros <rogerq@ti.com>
Mon, 21 Sep 2015 14:46:13 +0000 (17:46 +0300)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 28 Oct 2015 02:13:46 +0000 (22:13 -0400)
[ Upstream commit e5bfeab0ad515b4f6df39fe716603e9dc6d3dfd0 ]

For whatever reason if XHCI died in the previous instant
then it will never recover on the next xhci_start unless we
clear the DYING flag.

Cc: <stable@vger.kernel.org>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/usb/host/xhci.c

index 8e5f46082316e65136326aaa3a793c0aac1a88fb..e443ace0a051db32a328bb07039c3126d2875beb 100644 (file)
@@ -147,7 +147,8 @@ static int xhci_start(struct xhci_hcd *xhci)
                                "waited %u microseconds.\n",
                                XHCI_MAX_HALT_USEC);
        if (!ret)
-               xhci->xhc_state &= ~XHCI_STATE_HALTED;
+               xhci->xhc_state &= ~(XHCI_STATE_HALTED | XHCI_STATE_DYING);
+
        return ret;
 }