summaryrefslogtreecommitdiffstats
path: root/arch/sh/lib64
diff options
context:
space:
mode:
authorWang YanQing <udknight@gmail.com>2016-05-05 15:14:21 +0200
committerIngo Molnar <mingo@kernel.org>2016-05-05 16:01:00 +0200
commitc10fcb14c7afd6688c7b197a814358fecf244222 (patch)
treefc70c2fe4fbb5b974eb7ec07eeec5f409b2fca0c /arch/sh/lib64
parentx86/efi-bgrt: Switch all pr_err() to pr_notice() for invalid BGRT (diff)
downloadlinux-c10fcb14c7afd6688c7b197a814358fecf244222.tar.xz
linux-c10fcb14c7afd6688c7b197a814358fecf244222.zip
x86/sysfb_efi: Fix valid BAR address range check
The code for checking whether a BAR address range is valid will break out of the loop when a start address of 0x0 is encountered. This behaviour is wrong since by breaking out of the loop we may miss the BAR that describes the EFI frame buffer in a later iteration. Because of this bug I can't use video=efifb: boot parameter to get efifb on my new ThinkPad E550 for my old linux system hard disk with 3.10 kernel. In 3.10, efifb is the only choice due to DRM/I915 not supporting the GPU. This patch also add a trivial optimization to break out after we find the frame buffer address range without testing later BARs. Signed-off-by: Wang YanQing <udknight@gmail.com> [ Rewrote changelog. ] Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk> Reviewed-by: Peter Jones <pjones@redhat.com> Cc: <stable@vger.kernel.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: David Herrmann <dh.herrmann@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/1462454061-21561-2-git-send-email-matt@codeblueprint.co.uk Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/sh/lib64')
0 files changed, 0 insertions, 0 deletions