xhci: Add Lynx Point LP to list of Intel switchable hosts
authorRussell Webb <russell.webb@linux.intel.com>
Fri, 9 Nov 2012 21:58:49 +0000 (13:58 -0800)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Wed, 28 Nov 2012 19:21:29 +0000 (11:21 -0800)
Like Lynx Point, Lynx Point LP is also switchable.  See
1c12443ab8eba71a658fae4572147e56d1f84f66 for more details.

This patch should be backported to stable kernels as old as 3.0,
that contain commit 69e848c2090aebba5698a1620604c7dccb448684
"Intel xhci: Support EHCI/xHCI port switching."

Signed-off-by: Russell Webb <russell.webb@linux.intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@vger.kernel.org
drivers/usb/host/ehci-pci.c
drivers/usb/host/pci-quirks.c

index 3fb76ca6184814944288d01b568cc7096eb9e45b..dabb20494826f1be237c9a08b6cea7569be46dd7 100644 (file)
@@ -330,7 +330,8 @@ static bool usb_is_intel_switchable_ehci(struct pci_dev *pdev)
                pdev->vendor == PCI_VENDOR_ID_INTEL &&
                (pdev->device == 0x1E26 ||
                 pdev->device == 0x8C2D ||
-                pdev->device == 0x8C26);
+                pdev->device == 0x8C26 ||
+                pdev->device == 0x9C26);
 }
 
 static void ehci_enable_xhci_companion(void)
index 15cfb06769e6112b1bbf93a6a0ac9050e2a6f74b..a3b6d7104ae237f17846fdd7d41f4f14fcc7e4b5 100644 (file)
@@ -723,6 +723,7 @@ static int handshake(void __iomem *ptr, u32 mask, u32 done,
 }
 
 #define PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI    0x8C31
+#define PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI 0x9C31
 
 bool usb_is_intel_ppt_switchable_xhci(struct pci_dev *pdev)
 {
@@ -736,7 +737,8 @@ bool usb_is_intel_lpt_switchable_xhci(struct pci_dev *pdev)
 {
        return pdev->class == PCI_CLASS_SERIAL_USB_XHCI &&
                pdev->vendor == PCI_VENDOR_ID_INTEL &&
-               pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI;
+               (pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI ||
+                pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI);
 }
 
 bool usb_is_intel_switchable_xhci(struct pci_dev *pdev)