aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2012-02-16 22:59:29 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2012-02-16 22:59:29 +0000
commita159c266a93c3c4f229864954c5f963acd8f60f2 (patch)
treed4ae2db1980d2ec7b164b1a5658fd2ae62569456 /sys/dev/acpica/acpi.c
parent1556e63481fe32777f5b0770a8ad34405cef7f29 (diff)
parent5437485bdb98c4b00f15969e013c454426e9c862 (diff)
downloadsrc-a159c266a93c3c4f229864954c5f963acd8f60f2.tar.gz
src-a159c266a93c3c4f229864954c5f963acd8f60f2.zip
Merge ACPICA 20120215.
Notes
Notes: svn path=/head/; revision=231844
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r--sys/dev/acpica/acpi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index c61346172afa..fc5fec132f77 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -2715,7 +2715,8 @@ acpi_EnterSleepState(struct acpi_softc *sc, int state)
DELAY(sc->acpi_sleep_delay * 1000000);
if (state != ACPI_STATE_S1) {
- acpi_sleep_machdep(sc, state);
+ if (acpi_sleep_machdep(sc, state))
+ goto backout;
/* Re-enable ACPI hardware on wakeup from sleep state 4. */
if (state == ACPI_STATE_S4)
@@ -2740,8 +2741,10 @@ backout:
acpi_wake_prep_walk(state);
sc->acpi_sstate = ACPI_STATE_S0;
}
- if (slp_state >= ACPI_SS_SLP_PREP)
+ if (slp_state >= ACPI_SS_SLP_PREP) {
+ AcpiLeaveSleepStatePrep(state);
AcpiLeaveSleepState(state);
+ }
if (slp_state >= ACPI_SS_DEV_SUSPEND)
DEVICE_RESUME(root_bus);
if (slp_state >= ACPI_SS_SLEPT) {