Commit 133bb070 authored by Matthew Garrett's avatar Matthew Garrett Committed by Linus Torvalds

efifb: exit if framebuffer address is invalid

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: default avatarMatthew Garrett <mjg@redhat.com>
Acked-by: default avatarPeter Jones <pjones@redhat.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0ca1071f
...@@ -210,12 +210,15 @@ static int __init efifb_probe(struct platform_device *dev) ...@@ -210,12 +210,15 @@ static int __init efifb_probe(struct platform_device *dev)
unsigned int size_total; unsigned int size_total;
int request_succeeded = 0; int request_succeeded = 0;
printk(KERN_INFO "efifb: probing for efifb\n");
if (!screen_info.lfb_depth) if (!screen_info.lfb_depth)
screen_info.lfb_depth = 32; screen_info.lfb_depth = 32;
if (!screen_info.pages) if (!screen_info.pages)
screen_info.pages = 1; 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 */ /* just assume they're all unset if any are */
if (!screen_info.blue_size) { if (!screen_info.blue_size) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment