usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports
authorMathias Nyman <mathias.nyman@linux.intel.com>
Wed, 28 May 2014 20:18:35 +0000 (23:18 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 May 2014 20:17:46 +0000 (13:17 -0700)
Sony VAIO t-series machines are not capable of switching usb2 ports over
from Intel EHCI to xHCI controller. If tried the USB2 port will be left
unconnected and unusable.

This patch should be backported to stable kernels as old as 3.12,
that contain the commit 26b76798e0507429506b93cd49f8c4cfdab06896
"Intel xhci: refactor EHCI/xHCI port switching"

Cc: stable <stable@vger.kernel.org> # 3.12
Reported-by: Jorge <xxopxe@gmail.com>
Tested-by: Jorge <xxopxe@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/pci-quirks.c

index 00661d305143f4f7514e7044187299b639020009..4a6d3dd68572b82127b40794aa86b9fa4243e6f7 100644 (file)
@@ -847,6 +847,13 @@ void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev)
        bool            ehci_found = false;
        struct pci_dev  *companion = NULL;
 
+       /* Sony VAIO t-series with subsystem device ID 90a8 is not capable of
+        * switching ports from EHCI to xHCI
+        */
+       if (xhci_pdev->subsystem_vendor == PCI_VENDOR_ID_SONY &&
+           xhci_pdev->subsystem_device == 0x90a8)
+               return;
+
        /* make sure an intel EHCI controller exists */
        for_each_pci_dev(companion) {
                if (companion->class == PCI_CLASS_SERIAL_USB_EHCI &&