ACPI: resolve GPE immediate wakeup regression

From: Ray Lee
Date: Mon Mar 12 2007 - 13:00:15 EST


Len Brown wrote:
> On Saturday 10 March 2007 01:18, Ray Lee wrote:
>> Ray Lee wrote:
>>> In 2.6.21-rc1,2,3, my laptop will fully suspend to ram, but then
>>> *immediately* resumes back from suspension. (It resumes just fine, as well.)
>> [...]
>>> HP/Compaq NX6125 system, AMD64, dmesg attached.
>
> I'd rather not break the Acer, if possible.
>
> Ray, Please test the incremental patch below.

Tested and Alexey's patch (copied below) fixes the problem. I added a
signed-off-by just in case; feel free to yank it if inappropriate.
Regardless, please apply.

Thanks Len, Alexey.

Ray
---
Subject: ACPI: resolve GPE immediate wakeup regression
From: Alexey Starikovskiy <alexey.y.starikovskiy@xxxxxxxxxxxxxxx>

Removing disabling of GPEs from enter_sleep function causes regression
on nx6125.
Doing disable_all_gpes both in prepare to sleep and in enter sleep
resolves regression,
while still fixes Acer notebooks.

Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@xxxxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Signed-off-by: Ray Lee <ray-lk@xxxxxxxxxxxxx>
---

drivers/acpi/hardware/hwsleep.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/hardware/hwsleep.c
b/drivers/acpi/hardware/hwsleep.c
index 8fa9312..c84b1fa 100644
--- a/drivers/acpi/hardware/hwsleep.c
+++ b/drivers/acpi/hardware/hwsleep.c
@@ -300,6 +300,11 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8
sleep_state)
/*
* 2) Enable all wakeup GPEs
*/
+ status = acpi_hw_disable_all_gpes();
+ if (ACPI_FAILURE(status)) {
+ return_ACPI_STATUS(status);
+ }
+
acpi_gbl_system_awake_and_running = FALSE;

status = acpi_hw_enable_all_wakeup_gpes();


-
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/