svn commit: r233894 - head/sys/dev/fb

Jung-uk Kim jkim at FreeBSD.org
Wed Apr 4 21:38:27 UTC 2012


Author: jkim
Date: Wed Apr  4 21:38:26 2012
New Revision: 233894
URL: http://svn.freebsd.org/changeset/base/233894

Log:
  Do not copy VESA state buffer if the VBE call has failed for any reason.
  Do not unnecessarily clear the state buffer before calling the function.

Modified:
  head/sys/dev/fb/vesa.c

Modified: head/sys/dev/fb/vesa.c
==============================================================================
--- head/sys/dev/fb/vesa.c	Wed Apr  4 21:31:20 2012	(r233893)
+++ head/sys/dev/fb/vesa.c	Wed Apr  4 21:38:26 2012	(r233894)
@@ -542,7 +542,8 @@ vesa_bios_save_restore(int code, void *p
 	switch (code) {
 	case STATE_SAVE:
 		x86bios_intr(&regs, 0x10);
-		bcopy(vesa_state_buf, p, vesa_state_buf_size);
+		if (regs.R_AX == 0x004f)
+			bcopy(vesa_state_buf, p, vesa_state_buf_size);
 		break;
 	case STATE_LOAD:
 		bcopy(p, vesa_state_buf, vesa_state_buf_size);
@@ -1481,7 +1482,6 @@ vesa_save_state(video_adapter_t *adp, vo
 	} else
 		vesa_vmem_buf = NULL;
 	((adp_state_t *)p)->sig = V_STATE_SIG;
-	bzero(((adp_state_t *)p)->regs, vesa_state_buf_size);
 	return (vesa_bios_save_restore(STATE_SAVE, ((adp_state_t *)p)->regs));
 }
 


More information about the svn-src-all mailing list