Gerd Hoffmann <kraxel@xxxxxxxxxx> writes: > Hi, > >> Since the whole point is to detect the case where we don't have >> a screen at all it makes sense to check several additional variables >> and make certain that they are all 0. Agreed? > > Like in the attached patch? Looks good to me. > cheers, > Gerd > Refine SCREEN_INFO sanity check for vgacon initialization. > > Checking video mode field only to see whenever SCREEN_INFO is > initialized is not enougth, in some cases it is zero although > a vga card is present. Lets additionally check cols and lines. > > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> > Cc: Andi Kleen <ak@xxxxxxx> > Cc: Alan <alan@xxxxxxxxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxx> > Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> > --- > drivers/video/console/vgacon.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > Index: vanilla-2.6.21-git11/drivers/video/console/vgacon.c > =================================================================== > --- vanilla-2.6.21-git11.orig/drivers/video/console/vgacon.c > +++ vanilla-2.6.21-git11/drivers/video/console/vgacon.c > @@ -368,9 +368,14 @@ static const char *vgacon_startup(void) > #endif > } > > + /* SCREEN_INFO initialized? */ > + if ((ORIG_VIDEO_MODE == 0) && > + (ORIG_VIDEO_LINES == 0) && > + (ORIG_VIDEO_COLS == 0)) > + goto no_vga; > + > /* VGA16 modes are not handled by VGACON */ > - if ((ORIG_VIDEO_MODE == 0x00) || /* SCREEN_INFO not initialized */ > - (ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */ > + if ((ORIG_VIDEO_MODE == 0x0D) || /* 320x200/4 */ > (ORIG_VIDEO_MODE == 0x0E) || /* 640x200/4 */ > (ORIG_VIDEO_MODE == 0x10) || /* 640x350/4 */ > (ORIG_VIDEO_MODE == 0x12) || /* 640x480/4 */ _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization