Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown

From: Denis Turischev
Date: Fri Dec 20 2013 - 05:41:22 EST


> Also, which kernel are you experiencing this issue on? In 3.12, I
> queued a separate patch to deal with spurious reboot issues on Lynx
> Point:
>
> commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
> Author: Takashi Iwai <tiwai@xxxxxxx>
> Date: Thu Sep 12 08:11:06 2013 +0200
>
> xhci: Fix spurious wakeups after S5 on Haswell
>
> Haswell LynxPoint and LynxPoint-LP with the recent Intel BIOS show
> mysterious wakeups after shutdown occasionally. After discussing with
> BIOS engineers, they explained that the new BIOS expects that the
> wakeup sources are cleared and set to D3 for all wakeup devices when
> the system is going to sleep or power off, but the current xhci driver
> doesn't do this properly (partly intentionally).
>
> This patch introduces a new quirk, XHCI_SPURIOUS_WAKEUP, for
> fixing the spurious wakeups at S5 by calling xhci_reset() in the xhci
> shutdown ops as done in xhci_stop(), and setting the device to PCI D3
> at shutdown and remove ops.
>
> The PCI D3 call is based on the initial fix patch by Oliver Neukum.
>
> [Note: Sarah changed the quirk name from XHCI_HSW_SPURIOUS_WAKEUP to
> XHCI_SPURIOUS_WAKEUP, since none of the other quirks have system names
> in them. Sarah also fixed a collision with a quirk submitted around the
> same time, by changing the xhci->quirks bit from 17 to 18.]
>
> This patch should be backported to kernels as old as 3.0, that
> contain the commit 1c12443ab8eba71a658fae4572147e56d1f84f66 "xhci: Add
> Lynx Point to list of Intel switchable hosts."
>
> Cc: Oliver Neukum <oneukum@xxxxxxx>
> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
> Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
>
> This patch is in 3.12, but a patch to narrow the quirk to only apply HP systems
> will hit 3.13 shortly:

Sorry, I indeed tested not on the latest kernel version, Ubuntu 3.13-rc3 has this patch and it works
for me.

Denis

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/