svn commit: r236221 - head/sys/dev/acpica

Mitsuru IWASAKI iwasaki at FreeBSD.org
Tue May 29 05:28:35 UTC 2012


Author: iwasaki
Date: Tue May 29 05:28:34 2012
New Revision: 236221
URL: http://svn.freebsd.org/changeset/base/236221

Log:
  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

Modified:
  head/sys/dev/acpica/acpi.c

Modified: head/sys/dev/acpica/acpi.c
==============================================================================
--- head/sys/dev/acpica/acpi.c	Tue May 29 05:09:40 2012	(r236220)
+++ head/sys/dev/acpica/acpi.c	Tue May 29 05:28:34 2012	(r236221)
@@ -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);


More information about the svn-src-all mailing list