blob: 1db0d05ce04f331da6fc252d06e305827a1e8302 [file] [log] [blame]
Samuel Mendoza-Jonas69b3de02017-10-25 13:20:17 +11001From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Brian King <brking@linux.vnet.ibm.com>
3Date: Wed, 25 Oct 2017 10:42:59 +1100
4Subject: [PATCH 1/5] xhci: Reset controller on xhci shutdown
5
6Fixes kexec boot. Without a hard reset, some USB chips will fail to
7initialize in a kexec booted kernel.
8
9Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
10Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
11---
12 drivers/usb/host/xhci.c | 1 +
13 1 file changed, 1 insertion(+)
14
15diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
16index ee198ea47f49..0e362e5c8b49 100644
17--- a/drivers/usb/host/xhci.c
18+++ b/drivers/usb/host/xhci.c
19@@ -729,6 +729,7 @@ static void xhci_shutdown(struct usb_hcd *hcd)
20 /* Yet another workaround for spurious wakeups at shutdown with HSW */
21 if (xhci->quirks & XHCI_SPURIOUS_WAKEUP)
22 pci_set_power_state(to_pci_dev(hcd->self.sysdev), PCI_D3hot);
23+ pci_reset_function_locked(to_pci_dev(hcd->self.sysdev));
24 }
25
26 #ifdef CONFIG_PM