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
This commit is contained in:
Mitsuru IWASAKI 2012-05-29 05:28:34 +00:00
parent ffe3f1f8cc
commit e3b56b6604
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=236221

View File

@ -2773,12 +2773,12 @@ acpi_EnterSleepState(struct acpi_softc *sc, int state)
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);