From 05981e812ea625e4f13942368071d2dbb1a78edf Mon Sep 17 00:00:00 2001 From: Alexey Starikovskiy Date: Mon, 12 Nov 2007 19:09:01 -0500 Subject: ACPI: suspend: Wrong order of GPE restore. commit 1dbc1fda5d8ca907f320b806005d4a447977d26a in mainline. ACPI: suspend: Wrong order of GPE restore. acpi_leave_sleep_state() should have correct list of wake and runtime GPEs, which is available only after disable_wakeup_device() is called. [cebbert@redhat.com: backport to 2.6.23] Signed-off-by: Alexey Starikovskiy Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown Cc: Chuck Ebbert Signed-off-by: Greg Kroah-Hartman --- drivers/acpi/sleep/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c index 6e0d2d46f804..37b651eda27b 100644 --- a/drivers/acpi/sleep/main.c +++ b/drivers/acpi/sleep/main.c @@ -170,8 +170,8 @@ static int acpi_pm_finish(suspend_state_t pm_state) { u32 acpi_state = acpi_target_sleep_state; - acpi_leave_sleep_state(acpi_state); acpi_disable_wakeup_device(acpi_state); + acpi_leave_sleep_state(acpi_state); /* reset firmware waking vector */ acpi_set_firmware_waking_vector((acpi_physical_address) 0); @@ -256,8 +256,8 @@ static int acpi_hibernation_enter(void) static void acpi_hibernation_finish(void) { - acpi_leave_sleep_state(ACPI_STATE_S4); acpi_disable_wakeup_device(ACPI_STATE_S4); + acpi_leave_sleep_state(ACPI_STATE_S4); /* reset firmware waking vector */ acpi_set_firmware_waking_vector((acpi_physical_address) 0); -- cgit v1.2.3