summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2013-11-28 12:41:07 +0100
committerMichael Brown2013-11-28 12:51:47 +0100
commit405416e4c4766197b06548e9c878ad4ad10a064e (patch)
treee46c030e249ecc3f3453cecc5decefdae16cb0df /src/arch
parent[vesafb] Include raw status value within VBE error messages (diff)
downloadipxe-405416e4c4766197b06548e9c878ad4ad10a064e.tar.gz
ipxe-405416e4c4766197b06548e9c878ad4ad10a064e.tar.xz
ipxe-405416e4c4766197b06548e9c878ad4ad10a064e.zip
[vesafb] Skip modes for which we cannot get mode information
The VirtualBox BIOS fails to retrieve mode information (with status 0x0100) for some modes within the mode list. Skip any such modes, rather than treating this as a fatal error. Reported-by: Robin Smidsrød <robin@smidsrod.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/interface/pcbios/vesafb.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/arch/i386/interface/pcbios/vesafb.c b/src/arch/i386/interface/pcbios/vesafb.c
index 6b1acba8..90197bff 100644
--- a/src/arch/i386/interface/pcbios/vesafb.c
+++ b/src/arch/i386/interface/pcbios/vesafb.c
@@ -300,7 +300,7 @@ static int vesafb_select_mode ( unsigned int min_width, unsigned int min_height,
DBGC ( &vbe_buf, "VESAFB could not get mode %04x "
"information: [%04x] %s\n", mode_number,
status, strerror ( rc ) );
- goto err_mode_info;
+ continue;
}
DBGC ( &vbe_buf, "VESAFB mode %04x %dx%d %dbpp(%d:%d:%d:%d) "
"model %02x [x%d]%s%s%s%s%s\n", mode_number,
@@ -348,7 +348,6 @@ static int vesafb_select_mode ( unsigned int min_width, unsigned int min_height,
}
err_set_mode:
- err_mode_info:
free ( mode_numbers );
err_mode_list:
return rc;