Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -210,12 +210,15 @@ static int __init efifb_probe(struct platform_device *dev)
	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) {