efifb will attempt to ioremap a framebuffer even if its starting address
is 0, failing and causing an ugly backtrace in the process.  Exit before
probing if this is the case.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Peter Jones <pjones@redhat.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
        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) {