diff options
author | H. Peter Anvin <hpa@zytor.com> | 2006-09-12 17:42:40 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2006-09-12 17:42:40 -0700 |
commit | 827de355148a6dae20c76e1cfb23fa0d8cd57149 (patch) | |
tree | d29ab168e2508eaefc59c785e9f30d6b695cdfce /com32 | |
parent | d570321676564b3247fbd3036f18bbda4ae4fbcd (diff) | |
download | syslinux-elf-827de355148a6dae20c76e1cfb23fa0d8cd57149.tar.gz syslinux-elf-827de355148a6dae20c76e1cfb23fa0d8cd57149.tar.xz syslinux-elf-827de355148a6dae20c76e1cfb23fa0d8cd57149.zip |
vesacon: if mode set failed, assume screen is unchanged
Diffstat (limited to 'com32')
-rw-r--r-- | com32/lib/sys/vesa/initvesa.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/com32/lib/sys/vesa/initvesa.c b/com32/lib/sys/vesa/initvesa.c index 53ab4b77..8d7ab479 100644 --- a/com32/lib/sys/vesa/initvesa.c +++ b/com32/lib/sys/vesa/initvesa.c @@ -179,11 +179,8 @@ static int vesacon_set_mode(void) rm.eax.w[0] = 0x4F02; /* Set SVGA video mode */ rm.ebx.w[0] = mode | 0x4000; /* Clear video RAM, use linear fb */ __intcall(0x10, &rm, &rm); - if ( rm.eax.w[0] != 0x004F ) { - rm.eax.w[0] = 0x0003; /* Set regular text mode */ - __intcall(0x10, &rm, NULL); + if ( rm.eax.w[0] != 0x004F ) return 9; /* Failed to set mode */ - } /* Tell syslinux we changed video mode */ rm.eax.w[0] = 0x0017; /* Report video mode change */ |