diff options
author | Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> | 2007-03-12 14:49:26 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-03-12 14:49:26 -0400 |
commit | 1d99967badac599c0d1db0b45c99e073e8e98cd4 (patch) | |
tree | 895ca1ae4ee97d1479c5de4a763a0b851933d731 /drivers/acpi/hardware/hwsleep.c | |
parent | be521466feb3bb1cd89de82a2b1d080e9ebd3cb6 (diff) |
ACPI: resolve HP nx6125 S3 immediate wakeup regression
Moving disable GPEs from enter_sleep up into sleep_prepare fixed
the disabled SCI on S4 on Acer laptops.
However, it caused an immediate S3 resume on the HP nx6125.
Apparently, on the HP, a GPE was getting re-enabled after
the prepare, but before the enter.
Close that window by restoring the GPE disable on enter.
This is redundant in most cases, but closes this window,
where S3 and S4 paths differ.
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Acked-by: Ray Lee <ray-lk@madrabbit.org>
Diffstat (limited to 'drivers/acpi/hardware/hwsleep.c')
-rw-r--r-- | 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 8fa93125fd4c..c84b1faba28c 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) | |||
300 | /* | 300 | /* |
301 | * 2) Enable all wakeup GPEs | 301 | * 2) Enable all wakeup GPEs |
302 | */ | 302 | */ |
303 | status = acpi_hw_disable_all_gpes(); | ||
304 | if (ACPI_FAILURE(status)) { | ||
305 | return_ACPI_STATUS(status); | ||
306 | } | ||
307 | |||
303 | acpi_gbl_system_awake_and_running = FALSE; | 308 | acpi_gbl_system_awake_and_running = FALSE; |
304 | 309 | ||
305 | status = acpi_hw_enable_all_wakeup_gpes(); | 310 | status = acpi_hw_enable_all_wakeup_gpes(); |