aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Moore <david.moore@gmail.com>2013-01-23 22:19:49 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-02-11 09:04:46 -0800
commit43f6cfceea3a9f094da2842e7c9a763b1efdd1a4 (patch)
treea822f0759327aa54de14c4134fce492260627f1b
parent50b0e5fa40ea3e0460174a449f3853d5790c6a16 (diff)
usb: Prevent dead ports when xhci is not enabled
commit 58b2939b4d5a030eaec469d29812ab8477ee7e76 upstream. When the xHCI driver is not available, actively switch the ports to EHCI mode since some BIOSes leave them in xHCI mode where they would otherwise appear dead. This was discovered on a Dell Optiplex 7010, but it's possible other systems could be affected. This should be backported to kernels as old as 3.0, that contain the commit 69e848c2090aebba5698a1620604c7dccb448684 "Intel xhci: Support EHCI/xHCI port switching." Signed-off-by: David Moore <david.moore@gmail.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/host/pci-quirks.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index eb5563ac58b..78933512c18 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -780,6 +780,7 @@ void usb_enable_xhci_ports(struct pci_dev *xhci_pdev)
"defaulting to EHCI.\n");
dev_warn(&xhci_pdev->dev,
"USB 3.0 devices will work at USB 2.0 speeds.\n");
+ usb_disable_xhci_ports(xhci_pdev);
return;
}