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.
This commit is contained in:
jkim 2012-04-04 21:38:26 +00:00
parent 452f890f26
commit 1a4c884636

View File

@ -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, void *p, size_t size)
} 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));
}