diff options
author | Michael Brown | 2013-11-28 12:41:07 +0100 |
---|---|---|
committer | Michael Brown | 2013-11-28 12:51:47 +0100 |
commit | 405416e4c4766197b06548e9c878ad4ad10a064e (patch) | |
tree | e46c030e249ecc3f3453cecc5decefdae16cb0df /src/arch | |
parent | [vesafb] Include raw status value within VBE error messages (diff) | |
download | ipxe-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.c | 3 |
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; |