diff options
author | Mitsuru IWASAKI <iwasaki@FreeBSD.org> | 2012-05-29 05:28:34 +0000 |
---|---|---|
committer | Mitsuru IWASAKI <iwasaki@FreeBSD.org> | 2012-05-29 05:28:34 +0000 |
commit | e3b56b660467696d128c3059fe7b0c0e8fbe78d9 (patch) | |
tree | cb0cae46a08835b50b8e6f21601fe67ca46f78e0 /sys/dev/acpica/acpi.c | |
parent | ffe3f1f8cc6a938b8f2aee9d91d006fda968763f (diff) | |
download | src-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.c | 4 |
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); |