aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-10 15:48:15 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-10 15:48:15 -0500
commit1caab68bff266fb4cea0bee7a8a5494042e883a9 (patch)
treec41b777f02facc75a5859c4f2516ce40843909a7 /drivers
parent5a1e1456fc633da5291285b1fff75d2a7507375b (diff)
parent6962d914f317b119e0db7189199b21ec77a4b3e0 (diff)
Merge tag 'for-usb-linus-2013-12-10' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus
Sarah writes: xhci: Regression fix for 3.13 Hi Greg, In 3.12-rc5, I merged a patch that was supposed to fix spurious reboots on shutdown on HP systems. The quirk was broadly applied to all Intel Haswell and Haswell ULT systems. Turns out the quirk caused non-HP systems to reboot on suspend. They shutdown just fine with the quirk patch reverted. This patch narrows the xHCI quirk to only run on HP systems. Sometimes fixing firmware issues feels like plugging holes in a leaky boat. Sarah Sharp
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/xhci-pci.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index b8dffd59eb25..73f5208714a4 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -128,7 +128,12 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
128 * any other sleep) on Haswell machines with LPT and LPT-LP 128 * any other sleep) on Haswell machines with LPT and LPT-LP
129 * with the new Intel BIOS 129 * with the new Intel BIOS
130 */ 130 */
131 xhci->quirks |= XHCI_SPURIOUS_WAKEUP; 131 /* Limit the quirk to only known vendors, as this triggers
132 * yet another BIOS bug on some other machines
133 * https://bugzilla.kernel.org/show_bug.cgi?id=66171
134 */
135 if (pdev->subsystem_vendor == PCI_VENDOR_ID_HP)
136 xhci->quirks |= XHCI_SPURIOUS_WAKEUP;
132 } 137 }
133 if (pdev->vendor == PCI_VENDOR_ID_ETRON && 138 if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
134 pdev->device == PCI_DEVICE_ID_ASROCK_P67) { 139 pdev->device == PCI_DEVICE_ID_ASROCK_P67) {