Skip to content

Commit 6962d91

Browse files
tiwaiSarah Sharp
authored andcommitted
xhci: Limit the spurious wakeup fix only to HP machines
We've got regression reports that my previous fix for spurious wakeups after S5 on HP Haswell machines leads to the automatic reboot at shutdown on some machines. It turned out that the fix for one side triggers another BIOS bug in other side. So, it's exclusive. Since the original S5 wakeups have been confirmed only on HP machines, it'd be safer to apply it only to limited machines. As a wild guess, limiting to machines with HP PCI SSID should suffice. This patch should be backported to kernels as old as 3.12, that contain the commit 638298d "xhci: Fix spurious wakeups after S5 on Haswell". Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66171 Cc: [email protected] Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Sarah Sharp <[email protected]> Tested-by: <[email protected]> Reported-by: Niklas Schnelle <[email protected]> Reported-by: Giorgos <[email protected]> Reported-by: <[email protected]>
1 parent 5a1e145 commit 6962d91

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/usb/host/xhci-pci.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,12 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
128128
* any other sleep) on Haswell machines with LPT and LPT-LP
129129
* with the new Intel BIOS
130130
*/
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;
132137
}
133138
if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
134139
pdev->device == PCI_DEVICE_ID_ASROCK_P67) {

0 commit comments

Comments
 (0)