At Tue, 10 Sep 2013 17:48:37 +0200, Takashi Iwai wrote: > > At Tue, 10 Sep 2013 08:38:50 -0700, > Sarah Sharp wrote: > > > > On Tue, Sep 10, 2013 at 08:24:51AM +0200, 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_stop() instead of > > > its stripped version in the xhci shutdown ops, and setting the device > > > to PCI D3 at shutdown and remove ops. > > > > Which part of xhci_stop() causes the wakeups to cease? Is it the reset > > of the host, or the disabling of the event ring interrupts, or both? > > I'd like to understand exactly what caused the BIOS to wake up the > > system. > > I'd love to understand what the heck it is, too :) > > Currently we're in rush for band-aiding this problem, so had no time > for the detailed analysis. We'll check it soon later. I did a kind of bisection of each xhci_stop() operation, and found that only xhci_reset() is needed. I'll resubmit the new patch. 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