Author: jkim
Date: Wed May 26 15:29:53 2010
New Revision: 208564
URL: http://svn.freebsd.org/changeset/base/208564

Log:
  Let the first device suspend and the last device resume syscons(4).

Modified:
  head/sys/isa/syscons_isa.c

Modified: head/sys/isa/syscons_isa.c
==============================================================================
--- head/sys/isa/syscons_isa.c  Wed May 26 11:31:57 2010        (r208563)
+++ head/sys/isa/syscons_isa.c  Wed May 26 15:29:53 2010        (r208564)
@@ -116,10 +116,10 @@ scsuspend(device_t dev)
 
        sc = &main_softc;
 
-       if (sc->cur_scp == NULL || sc->suspend_in_progress)
+       if (sc->cur_scp == NULL)
                return (0);
 
-       if (!sc_no_suspend_vtswitch) {
+       if (sc->suspend_in_progress == 0 && !sc_no_suspend_vtswitch) {
                sc_cur_scr = sc->cur_scp->index;
                do {
                        sc_switch_scr(sc, 0);
@@ -128,8 +128,7 @@ scsuspend(device_t dev)
                        pause("scsuspend", hz);
                } while (retry--);
        }
-
-       sc->suspend_in_progress = TRUE;
+       sc->suspend_in_progress++;
 
        return (0);
 }
@@ -141,12 +140,8 @@ scresume(device_t dev)
 
        sc = &main_softc;
 
-       if (!sc->suspend_in_progress)
-               return (0);
-
-       sc->suspend_in_progress = FALSE;
-
-       if (!sc_no_suspend_vtswitch)
+       sc->suspend_in_progress--;
+       if (sc->suspend_in_progress == 0 && !sc_no_suspend_vtswitch)
                sc_switch_scr(sc, sc_cur_scr);
 
        return (0);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to