On Mon, Dec 09, 2013 at 02:53:36PM +0100, Takashi Iwai wrote:
> 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.

Thanks for the patch.  It looks like the right way to take care of this
regression, but I need confirmation from one of the original bug
reporters that it fixes their issue before I merge it.

So far we have one report that a revert of commit
638298dc66ea36623dbc2757a24fc2c4ab41b016 "xhci: Fix spurious wakeups
after S5 on Haswell" allows the system to shutdown without a spurious
reboot, but none of the original reporters have reported success with
this patch yet.

Sarah Sharp

> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66171
> Cc: <sta...@vger.kernel.org>
> Signed-off-by: Takashi Iwai <ti...@suse.de>
> ---
> v1->v2: Fix bug description
> 
>  drivers/usb/host/xhci-pci.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> 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)
>                * 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) {
> -- 
> 1.8.5
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to