From: Michael Brown Date: Thu, 28 Nov 2013 11:41:07 +0000 (+0000) Subject: [vesafb] Skip modes for which we cannot get mode information X-Git-Tag: v1.20.1~1345 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=405416e4c4766197b06548e9c878ad4ad10a064e;p=thirdparty%2Fipxe.git [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 Signed-off-by: Michael Brown --- diff --git a/src/arch/i386/interface/pcbios/vesafb.c b/src/arch/i386/interface/pcbios/vesafb.c index 6b1acba82..90197bfff 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;