Re: [Update 2x][PATCH 1/2] ACPI / PM: Always enable wakeup GPEs when enabling device wakeup
From: Rafael J. Wysocki <hidden>
Date: 2014-07-22 00:44:12
Also in:
linux-acpi, linux-pci, lkml
On Monday, July 21, 2014 10:17:34 AM Peter Zijlstra wrote:
On Mon, Jul 21, 2014 at 01:51:46AM +0200, Rafael J. Wysocki wrote:quoted
From: Rafael J. Wysocki <redacted> Subject: ACPI / PM: Always enable wakeup GPEs when enabling device wakeup Wakeup GPEs are currently only enabled when setting up devices for remote wakeup at run time. During system-wide transitions they are enabled by ACPICA at the very last stage of suspend (before asking the BIOS to take over). Of course, that only works for system sleep states supported by ACPI, so in particular it doesn't work for the "freeze" sleep state. For this reason, modify the ACPI core device PM code to enable wakeup GPEs for devices when setting them up for wakeup regardless of whether that is remote wakeup at runtime or system wakeup. That allows the same device wakeup setup routine to be used for both runtime PM and system-wide PM and makes it possible to reduce code size quite a bit. That should make things like ACPI-based PCI Wake-on-LAN work with the "freeze" sleep state among other things. Tested-on: Toshiba Portege R500 Signed-off-by: Rafael J. Wysocki <redacted> --- The PCI ACPI device PM notify handler has to be updated to avoid running runtime resume callbacks during system suspend too.So I tested the first version, with that my WSM-EP didn't resume on WoL and pressing the power button after the WoL had it crash and burn in the igb driver. Today I tested this latest version and WoL still didn't trigger a resume, but the power button did make it go again, no crashes and I suppose I can confirm the earlier patch that stopped making it go halt works.
OK, thanks!
When I 'halt' I can wake the machine back up using a WoL so that all _should_ work afaik.
Yes, it should. I'll send an updated patchset shortly, so please test that one. If it doesn't help, we'll need to dig deeper still. Rafael