In case we've already added the framebuffer video mode to the list do not add number 0x140.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com --- vgasrc/cbvga.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/vgasrc/cbvga.c b/vgasrc/cbvga.c index fb68620067..3f16bee10c 100644 --- a/vgasrc/cbvga.c +++ b/vgasrc/cbvga.c @@ -104,6 +104,8 @@ struct vgamode_s *cbvga_find_mode(int mode) void cbvga_list_modes(u16 seg, u16 *dest, u16 *last) { + int seen = 0; + if (GET_GLOBAL(CBmode) != 0x3) { /* Advertise additional SVGA modes for Microsoft NTLDR graphical mode. * Microsoft NTLDR: @@ -119,9 +121,11 @@ cbvga_list_modes(u16 seg, u16 *dest, u16 *last) continue; SET_FARVAR(seg, *dest, mode); dest++; + if (GET_GLOBAL(CBmode) == mode) + seen = 1; } } - if (dest < last) { + if (dest < last && !seen) { SET_FARVAR(seg, *dest, GET_GLOBAL(CBmode)); dest++; }