vgabios: On bda_save_restore() the saved vbe_mode also has flags in it When restoring a saved state, make sure to remove any flags from the video mode prior to searching for that mode. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index f5abda6..4aa50e1 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c
@@ -259,7 +259,7 @@ , sizeof(info->bda_0x84)); u16 vbe_mode = GET_FARVAR(seg, info->vbe_mode); SET_BDA_EXT(vbe_mode, vbe_mode); - struct vgamode_s *vmode_g = vgahw_find_mode(vbe_mode); + struct vgamode_s *vmode_g = vgahw_find_mode(vbe_mode & ~MF_VBEFLAGS); SET_BDA_EXT(vgamode_offset, (u32)vmode_g); SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); SET_IVT(0x43, GET_FARVAR(seg, info->font1));