Fix to "All wake-up devices are disabled after suspend-to disk" isn't yet included in mainline
Subsystems (2)
Hi,
A while ago I asked on LKML about the problem of loosing all wake device capabilities, after a suspend to disk (eg: I can't wake the system from keyboard if I suspend to disk and then to ram)
I was provided with the patch that fixes this problem completely. The merge window is open, but I still don't see it in the kernel. Due to changes it doesn't anymore apply to latest git.
Was it missed?
The patch below for the reference,
(acpi_sleep_prepare was moved to /drivers/acpi/sleep/main.c, so I did in-line change in the patch)
Best regards,
Maxim Levitsky
commit ea256a37b093b9c0c0fa639eb9a0bff10df41998
Author: Alexey Starikovskiy <[email protected]> Date: Wed Sep 12 14:04:32 2007 +0400
ACPI: Hibernate erroneously disabled Suspend wakeup devices
S4 suspend to disk will disable GPE's permanently because acpi_gpe_sleep_prepare() does not have a counterpart at resume time. Thus, those devices became unavailable for wakeup from subsequent S3 suspend-to-ram.
Here acpi_gpe_sleep_prepare() is removed, and upon suspend acpi_enable_wakeup_device() gets its functionality. Upon resume, acpi_disable_wakeup_device() restores the state.
https://bugzilla.novell.com/show_bug.cgi?id=292300
--- drivers/acpi/sleep/poweroff.c | 1 - drivers/acpi/sleep/sleep.h | 1 - drivers/acpi/sleep/wakeup.c | 117 ++++++++++++++--------------------------- include/acpi/acpi_bus.h | 1 - 4 files changed, 40 insertions(+), 80 deletions(-)
drivers/acpi/sleep/main.c +0 -1
@@ -32,7 +32,6 @@ int acpi_sleep_prepare(u32 acpi_state)ACPI_FLUSH_CPU_CACHE ();acpi_enable_wakeup_device_prep (acpi_state);#endif -acpi_gpe_sleep_prepare (acpi_state);acpi_enter_sleep_state_prep (acpi_state);return 0 ; }
drivers/acpi/sleep/sleep.h +0 -1
@@ -5,6 +5,5 @@ extern int acpi_suspend (u32 state);extern void acpi_enable_wakeup_device_prep (u8 sleep_state);extern void acpi_enable_wakeup_device (u8 sleep_state);extern void acpi_disable_wakeup_device (u8 sleep_state); -extern void acpi_gpe_sleep_prepare (u32 sleep_state);extern int acpi_sleep_prepare (u32 acpi_state);
drivers/acpi/sleep/wakeup.c +40 -77
157 lines not on this page · raw message
include/acpi/acpi_bus.h +0 -1
@@ -264,7 +264,6 @@ struct acpi_device_wakeup_flags {struct acpi_device_wakeup_state {u8 enabled:1 ; -u8 active:1 ; };struct acpi_device_wakeup {
Signature · 1 line
1.5.3.4
Quoted 8 lines · On Wed, 17 Oct 2007 04:39:30 +0200 Maxim Levitsky <[email protected]>…
A while ago I asked on LKML about the problem of loosing all wake device capabilities, after a suspend to disk (eg: I can't wake the system from keyboard if I suspend to disk and then to ram)
I was provided with the patch that fixes this problem completely. The merge window is open, but I still don't see it in the kernel. Due to changes it doesn't anymore apply to latest git.
Was it missed?
No, it's in Len's git tree.
Len's git-pull request from a few days ago didn't work, perhaps because I wanted to know if a recent -mm regression had been fixed and that hasn't been answered yet. I assume that Len is offline. Other acpi developers could presumably have answered that question but for some reason chose not to.
I'm presently holding off 20-odd power management patches due to their dependency upon an acpi merge...
Quoted 13 lines · On Wednesday 17 October 2007 05:48:02 Andrew Morton wrote:
Quoted 8 lines · On Wed, 17 Oct 2007 04:39:30 +0200 Maxim Levitsky <[email protected]>…
A while ago I asked on LKML about the problem of loosing all wake device capabilities, after a suspend to disk (eg: I can't wake the system from keyboard if I suspend to disk and then to ram)
I was provided with the patch that fixes this problem completely. The merge window is open, but I still don't see it in the kernel. Due to changes it doesn't anymore apply to latest git.
Was it missed?
No, it's in Len's git tree.
Quoted 8 lines
Len's git-pull request from a few days ago didn't work, perhaps because I wanted to know if a recent -mm regression had been fixed and that hasn't been answered yet. I assume that Len is offline. Other acpi developers could presumably have answered that question but for some reason chose not to.
I'm presently holding off 20-odd power management patches due to their dependency upon an acpi merge...
Thanks a lot.
Best regards,
Maxim Levitsky