aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authorMitsuru IWASAKI <iwasaki@FreeBSD.org>2012-05-29 05:28:34 +0000
committerMitsuru IWASAKI <iwasaki@FreeBSD.org>2012-05-29 05:28:34 +0000
commite3b56b660467696d128c3059fe7b0c0e8fbe78d9 (patch)
treecb0cae46a08835b50b8e6f21601fe67ca46f78e0 /sys/dev/acpica/acpi.c
parentffe3f1f8cc6a938b8f2aee9d91d006fda968763f (diff)
downloadsrc-e3b56b660467696d128c3059fe7b0c0e8fbe78d9.tar.gz
src-e3b56b660467696d128c3059fe7b0c0e8fbe78d9.zip
Reorder resume procedures.
DEVICE_RESUME() should be done before AcpiLeaveSleepState() because PCI config space evaluation can be occurred during control method executions. This should fix one of the hang up problems on resuming. MFC after: 3 days
Notes
Notes: svn path=/head/; revision=236221
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r--sys/dev/acpica/acpi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index 012517499d5d..41cd9f1030fc 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -2773,12 +2773,12 @@ backout:
acpi_wake_prep_walk(state);
sc->acpi_sstate = ACPI_STATE_S0;
}
+ if (slp_state >= ACPI_SS_DEV_SUSPEND)
+ DEVICE_RESUME(root_bus);
if (slp_state >= ACPI_SS_SLP_PREP) {
AcpiLeaveSleepStatePrep(state, acpi_sleep_flags);
AcpiLeaveSleepState(state);
}
- if (slp_state >= ACPI_SS_DEV_SUSPEND)
- DEVICE_RESUME(root_bus);
if (slp_state >= ACPI_SS_SLEPT) {
acpi_resync_clock(sc);
acpi_enable_fixed_events(sc);