--- vanilla-2.6.29/drivers/video/efifb.c 2009-03-23 23:12:14.000000000 +0000 +++ linux-2.6.29.noarch/drivers/video/efifb.c 2009-04-01 19:24:01.000000000 +0100 @@ -208,12 +208,15 @@ unsigned int size_total; int request_succeeded = 0; - printk(KERN_INFO "efifb: probing for efifb\n"); - if (!screen_info.lfb_depth) screen_info.lfb_depth = 32; if (!screen_info.pages) screen_info.pages = 1; + if (!screen_info.lfb_base) { + printk(KERN_DEBUG "efifb: invalid framebuffer address\n"); + return -ENODEV; + } + printk(KERN_INFO "efifb: probing for efifb\n"); /* just assume they're all unset if any are */ if (!screen_info.blue_size) {