diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-10 12:48:15 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-10 12:48:15 -0800 |
commit | 1caab68bff266fb4cea0bee7a8a5494042e883a9 (patch) | |
tree | c41b777f02facc75a5859c4f2516ce40843909a7 | |
parent | 5a1e1456fc633da5291285b1fff75d2a7507375b (diff) | |
parent | 6962d914f317b119e0db7189199b21ec77a4b3e0 (diff) | |
download | op-kernel-dev-1caab68bff266fb4cea0bee7a8a5494042e883a9.zip op-kernel-dev-1caab68bff266fb4cea0bee7a8a5494042e883a9.tar.gz |
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
-rw-r--r-- | drivers/usb/host/xhci-pci.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index b8dffd5..73f5208 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) * any other sleep) on Haswell machines with LPT and LPT-LP * with the new Intel BIOS */ - xhci->quirks |= XHCI_SPURIOUS_WAKEUP; + /* Limit the quirk to only known vendors, as this triggers + * yet another BIOS bug on some other machines + * https://bugzilla.kernel.org/show_bug.cgi?id=66171 + */ + if (pdev->subsystem_vendor == PCI_VENDOR_ID_HP) + xhci->quirks |= XHCI_SPURIOUS_WAKEUP; } if (pdev->vendor == PCI_VENDOR_ID_ETRON && pdev->device == PCI_DEVICE_ID_ASROCK_P67) { |