| From stable-bounces@linux.kernel.org Mon Nov 12 16:10:31 2007 |
| From: Alexey Starikovskiy <astarikovskiy@suse.de> |
| Date: Mon, 12 Nov 2007 19:09:01 -0500 |
| Subject: ACPI: suspend: Wrong order of GPE restore. |
| To: linux-stable <stable@kernel.org> |
| Cc: Len Brown <len.brown@intel.com> |
| Message-ID: <4738EB1D.6030709@redhat.com> |
| |
| From: Alexey Starikovskiy <astarikovskiy@suse.de> |
| |
| 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 <astarikovskiy@suse.de> |
| Acked-by: Rafael J. Wysocki <rjw@sisk.pl> |
| Signed-off-by: Len Brown <len.brown@intel.com> |
| Cc: Chuck Ebbert <cebbert@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/acpi/sleep/main.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/acpi/sleep/main.c |
| +++ b/drivers/acpi/sleep/main.c |
| @@ -170,8 +170,8 @@ static int acpi_pm_finish(suspend_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); |