This is a note to let you know that I've just added the patch titled

    usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports

to my usb git tree which can be found at
    git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.

The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)

The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.

If you have any questions about this process, please let me know.


>From b38f09ccc3fd453180e96273bf3f34083c30809a Mon Sep 17 00:00:00 2001
From: Mathias Nyman <[email protected]>
Date: Wed, 28 May 2014 23:18:35 +0300
Subject: usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports

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 <[email protected]> # 3.12
Reported-by: Jorge <[email protected]>
Tested-by: Jorge <[email protected]>
Signed-off-by: Mathias Nyman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/usb/host/pci-quirks.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index 00661d305143..4a6d3dd68572 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -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 &&
-- 
1.9.0


--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to