Re: [PATCH] xhci: Fix spurious wakeups after S5 on Haswell (v3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Wed, 11 Sep 2013 18:04:41 +0200,
Takashi Iwai wrote:
> 
> At Wed, 11 Sep 2013 11:45:08 -0400 (EDT),
> Alan Stern wrote:
> > 
> > On Wed, 11 Sep 2013, Takashi Iwai wrote:
> > 
> > > At Wed, 11 Sep 2013 10:54:40 -0400 (EDT),
> > > Alan Stern wrote:
> > > > 
> > > > On Wed, 11 Sep 2013, Takashi Iwai wrote:
> > > > 
> > > > > 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_HSW_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.
> > > > 
> > > > What happens if xhci-hcd is unloaded and then loaded again?  The probe
> > > > function expects the device to be in D0, not in D3hot.  Therefore the 
> > > > second time around, probe will fail.
> > > 
> > > Reloading the module works on the test machines fine.
> > 
> > Was the kernel on the test machines built with CONFIG_PM_RUNTIME 
> > disabled?
> 
> Good point.  I'll check whether it works without CONFIG_PM_RUNTIME.

Reloading xhci-hcd module works no matter whether CONFIG_PM_RUNTIME=y
or not.  (And yes, the device went to D3 at unload and to D0 at load,
as long as looking at lspci output.)


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux