Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 May 2012 05:28:35 +0000 (UTC)
From:      Mitsuru IWASAKI <iwasaki@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r236221 - head/sys/dev/acpica
Message-ID:  <201205290528.q4T5SZlN055208@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205290528.q4T5SZlN055208>