--- a/drivers/video/efifb.c 2009-03-21 21:05:08.000000000 -0400 +++ b/drivers/video/efifb.c 2009-03-21 21:16:20.000000000 -0400 @@ -129,6 +129,8 @@ static int set_system(const struct dmi_s screen_info.lfb_width = info->width; if (screen_info.lfb_height == 0) screen_info.lfb_height = info->height; + if (screen_info.orig_video_isVGA == 0) + screen_info.orig_video_isVGA = VIDEO_TYPE_EFI; return 0; } @@ -374,9 +376,10 @@ static int __init efifb_init(void) int ret; char *option = NULL; + dmi_check_system(dmi_system_table); + if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI) return -ENODEV; - dmi_check_system(dmi_system_table); if (fb_get_options("efifb", &option)) return -ENODEV;