]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[vesafb] Skip modes for which we cannot get mode information
authorMichael Brown <mcb30@ipxe.org>
Thu, 28 Nov 2013 11:41:07 +0000 (11:41 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 28 Nov 2013 11:51:47 +0000 (11:51 +0000)
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>
src/arch/i386/interface/pcbios/vesafb.c

index 6b1acba82b2b6e816368f79a9ebf5f98f1271939..90197bfffa5ed176f99367291370fbf8b5f03eb6 100644 (file)
@@ -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;