kernel: Move to Linux 4.13.8-openpower2
This replaces our existing non-upstream xhci fix with another
non-upstream xhci fix. It goes back to the original
usb_hcd_pci_shutdown() handler and instead performs a hardware reset of
the controller in xhci_shutdown().
Discussion of this change can be found here:
https://marc.info/?l=linux-usb&m=150853502520762&w=2
This fixes a particular issue on p9dsu, and after some testing does not
appear to regress on other platforms.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
diff --git a/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
new file mode 100644
index 0000000..1db0d05
--- /dev/null
+++ b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
@@ -0,0 +1,26 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Brian King <brking@linux.vnet.ibm.com>
+Date: Wed, 25 Oct 2017 10:42:59 +1100
+Subject: [PATCH 1/5] xhci: Reset controller on xhci shutdown
+
+Fixes kexec boot. Without a hard reset, some USB chips will fail to
+initialize in a kexec booted kernel.
+
+Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
+Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
+---
+ drivers/usb/host/xhci.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
+index ee198ea47f49..0e362e5c8b49 100644
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -729,6 +729,7 @@ static void xhci_shutdown(struct usb_hcd *hcd)
+ /* Yet another workaround for spurious wakeups at shutdown with HSW */
+ if (xhci->quirks & XHCI_SPURIOUS_WAKEUP)
+ pci_set_power_state(to_pci_dev(hcd->self.sysdev), PCI_D3hot);
++ pci_reset_function_locked(to_pci_dev(hcd->self.sysdev));
+ }
+
+ #ifdef CONFIG_PM