Author: jkim
Date: Tue Apr 19 16:20:55 2011
New Revision: 220839
URL: http://svn.freebsd.org/changeset/base/220839

Log:
  Add suspend/resume event handlers for apm(4) as well.

Modified:
  head/sys/i386/bios/apm.c

Modified: head/sys/i386/bios/apm.c
==============================================================================
--- head/sys/i386/bios/apm.c    Tue Apr 19 16:10:08 2011        (r220838)
+++ head/sys/i386/bios/apm.c    Tue Apr 19 16:20:55 2011        (r220839)
@@ -484,16 +484,16 @@ apm_do_suspend(void)
        apm_op_inprog = 0;
        sc->suspends = sc->suspend_countdown = 0;
 
+       EVENTHANDLER_INVOKE(power_suspend);
+
        /*
         * Be sure to hold Giant across DEVICE_SUSPEND/RESUME since
         * non-MPSAFE drivers need this.
         */
        mtx_lock(&Giant);
        error = DEVICE_SUSPEND(root_bus);
-       if (error) {
-               mtx_unlock(&Giant);
-               return;
-       }
+       if (error)
+               goto backout;
 
        apm_execute_hook(hook[APM_HOOK_SUSPEND]);
        if (apm_suspend_system(PMST_SUSPEND) == 0) {
@@ -504,8 +504,9 @@ apm_do_suspend(void)
                apm_execute_hook(hook[APM_HOOK_RESUME]);
                DEVICE_RESUME(root_bus);
        }
+backout:
        mtx_unlock(&Giant);
-       return;
+       EVENTHANDLER_INVOKE(power_resume);
 }
 
 static void
@@ -612,7 +613,7 @@ apm_resume(void)
        mtx_lock(&Giant);
        DEVICE_RESUME(root_bus);
        mtx_unlock(&Giant);
-       return;
+       EVENTHANDLER_INVOKE(power_resume);
 }
 
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to