瀏覽代碼

usb: Prevent dead ports when xhci is not enabled

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>
Cc: stable@vger.kernel.org
David Moore 12 年之前
父節點
當前提交
58b2939b4d
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/usb/host/pci-quirks.c

+ 1 - 0
drivers/usb/host/pci-quirks.c

@@ -780,6 +780,7 @@ void usb_enable_xhci_ports(struct pci_dev *xhci_pdev)
 				"defaulting to EHCI.\n");
 				"defaulting to EHCI.\n");
 		dev_warn(&xhci_pdev->dev,
 		dev_warn(&xhci_pdev->dev,
 				"USB 3.0 devices will work at USB 2.0 speeds.\n");
 				"USB 3.0 devices will work at USB 2.0 speeds.\n");
+		usb_disable_xhci_ports(xhci_pdev);
 		return;
 		return;
 	}
 	}