svn commit: r208564 - head/sys/isa

Jung-uk Kim jkim at FreeBSD.org
Wed May 26 15:29:54 UTC 2010


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);


More information about the svn-src-all mailing list