summaryrefslogtreecommitdiff
path: root/drivers/acpi/sleep/main.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-29 21:46:09 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-29 21:46:09 -0700
commitc8593884f2768fa3ff6f7e199d75b6ca91f9e891 (patch)
tree1cc14895eb3497fbe7f3b15ea7a89abc85cd1650 /drivers/acpi/sleep/main.c
parent4282b01e0075ac4495ab2e1cd012cbc43e764c51 (diff)
parent1942971b20817def5fd1142248307c7c3c51fc8a (diff)
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (26 commits) cpuidle: remove unused exports acpi: remove double mention of Support for ACPI option ACPI: use select POWER_SUPPLY for AC, BATTERY and SBS ACPI: Battery: Allow extract string from integer ACPI: battery: Support for non-spec name for LiIon technology ACPI: battery: register power_supply subdevice only when battery is present suspend: MAINTAINERS update ACPI: update MAINTAINERS fujitsu-laptop.c: remove dead code cpuidle: unexport tick_nohz_get_sleep_length ACPI: battery: Update battery information upon sysfs read. fujitsu-laptop: make 2 functions static ACPI: EC: fix use-after-free ACPI: battery: remove dead code ACPI: Fan: Drop force_power_state acpi_device option ACPI: Fan: fan device does not need own structure ACPI: power: don't cache power resource state ACPI: EC: Output changes to operational mode ACPI: EC: Add workaround for "optimized" controllers ACPI: EC: Don't re-enable GPE for each transaction. ...
Diffstat (limited to 'drivers/acpi/sleep/main.c')
-rw-r--r--drivers/acpi/sleep/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
index f3d3867303ec..2c0b6630f8ba 100644
--- a/drivers/acpi/sleep/main.c
+++ b/drivers/acpi/sleep/main.c
@@ -167,8 +167,8 @@ static void acpi_pm_finish(void)
{
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);
@@ -272,8 +272,8 @@ static void acpi_hibernation_finish(void)
* enable it here.
*/
acpi_enable();
- 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);
@@ -410,6 +410,7 @@ static void acpi_power_off(void)
/* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */
printk("%s called\n", __FUNCTION__);
local_irq_disable();
+ acpi_enable_wakeup_device(ACPI_STATE_S5);
acpi_enter_sleep_state(ACPI_STATE_S5);
}