summaryrefslogtreecommitdiff
path: root/drivers/firmware/efi/libstub/gop.c
diff options
context:
space:
mode:
authorArvind Sankar <nivedita@alum.mit.edu>2020-03-19 22:00:16 -0400
committerArd Biesheuvel <ardb@kernel.org>2020-04-23 20:15:06 +0200
commit8cd207973c37175bf44727e28aa9c74fcf18de5e (patch)
tree857b9f510e4effc102ab8f7a132a1509753c120e /drivers/firmware/efi/libstub/gop.c
parentbd45870409a363eeb67e409645244ce38c7c2df3 (diff)
efi/gop: Move check for framebuffer before con_out
If the gop doesn't have a framebuffer, there's no point in checking for con_out support. Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Link: https://lore.kernel.org/r/20200320020028.1936003-3-nivedita@alum.mit.edu Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'drivers/firmware/efi/libstub/gop.c')
-rw-r--r--drivers/firmware/efi/libstub/gop.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/firmware/efi/libstub/gop.c b/drivers/firmware/efi/libstub/gop.c
index f40d535dccb8..201b66970b2b 100644
--- a/drivers/firmware/efi/libstub/gop.c
+++ b/drivers/firmware/efi/libstub/gop.c
@@ -113,15 +113,16 @@ static efi_status_t setup_gop(struct screen_info *si, efi_guid_t *proto,
if (status != EFI_SUCCESS)
continue;
+ mode = efi_table_attr(gop, mode);
+ info = efi_table_attr(mode, info);
+ if (info->pixel_format == PIXEL_BLT_ONLY)
+ continue;
+
status = efi_bs_call(handle_protocol, h, &conout_proto, &dummy);
if (status == EFI_SUCCESS)
conout_found = true;
- mode = efi_table_attr(gop, mode);
- info = efi_table_attr(mode, info);
-
- if ((!first_gop || conout_found) &&
- info->pixel_format != PIXEL_BLT_ONLY) {
+ if (!first_gop || conout_found) {
/*
* Systems that use the UEFI Console Splitter may
* provide multiple GOP devices, not all of which are