ACPI: resolve HP nx6125 S3 immediate wakeup regression
authorAlexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Mon, 12 Mar 2007 18:49:26 +0000 (14:49 -0400)
committerLen Brown <len.brown@intel.com>
Mon, 12 Mar 2007 18:49:26 +0000 (14:49 -0400)
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>
drivers/acpi/hardware/hwsleep.c

index 8fa93125fd4c94af822bf9b6dd1863511de16b7a..c84b1faba28cf3900001c78f2b0700975faf4d61 100644 (file)
@@ -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();