Index: dev/syscons/syscons.c =================================================================== RCS file: /home/ncvs/src/sys/dev/syscons/syscons.c,v retrieving revision 1.493.2.5 diff -u -r1.493.2.5 syscons.c --- dev/syscons/syscons.c 13 May 2012 17:13:21 -0000 1.493.2.5 +++ dev/syscons/syscons.c 26 May 2012 08:07:15 -0000 @@ -3109,6 +3109,8 @@ static void scresume(__unused void *arg) { + scr_stat *scp; + int mode; KASSERT(sc_console != NULL, ("sc_console != NULL")); KASSERT(sc_console->sc != NULL, ("sc_console->sc != NULL")); @@ -3116,6 +3118,18 @@ ("sc_console->sc->cur_scp != NULL")); suspend_in_progress = FALSE; + + scp = sc_console->sc->cur_scp; + mode = scp->sc->adp->va_mode; + + scp->mode = scp->sc->adp->va_initial_mode; + set_mode(scp); + + if (mode != scp->sc->adp->va_initial_mode) { + scp->mode = mode; + set_mode(scp); + } + if (sc_susp_scr < 0) { mark_all(sc_console->sc->cur_scp); return; Index: dev/fb/vesa.c =================================================================== RCS file: /home/ncvs/src/sys/dev/fb/vesa.c,v retrieving revision 1.49.2.4 diff -u -r1.49.2.4 vesa.c --- dev/fb/vesa.c 27 Mar 2012 23:59:48 -0000 1.49.2.4 +++ dev/fb/vesa.c 26 May 2012 08:01:39 -0000 @@ -1499,9 +1499,11 @@ (void)vesa_bios_post(); bsize = adp->va_buffer_size; mode = adp->va_mode; +#if 0 (void)vesa_set_mode(adp, adp->va_initial_mode); if (mode != adp->va_initial_mode) (void)vesa_set_mode(adp, mode); +#endif if (((adp_state_t *)p)->sig != V_STATE_SIG) return ((*prevvidsw->load_state)(adp, p));