[tip: efi/urgent] efi/gop: Return EFI_SUCCESS if a usable GOP was found

From: tip-bot2 for Arvind Sankar
Date: Sun Dec 08 2019 - 08:34:11 EST


The following commit has been merged into the efi/urgent branch of tip:

Commit-ID: dbd89c303b4420f6cdb689fd398349fc83b059dd
Gitweb: https://git.kernel.org/tip/dbd89c303b4420f6cdb689fd398349fc83b059dd
Author: Arvind Sankar <nivedita@xxxxxxxxxxxx>
AuthorDate: Fri, 06 Dec 2019 16:55:39
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Sun, 08 Dec 2019 12:42:18 +01:00

efi/gop: Return EFI_SUCCESS if a usable GOP was found

If we've found a usable instance of the Graphics Output Protocol
(GOP) with a framebuffer, it is possible that one of the later EFI
calls fails while checking if any support console output. In this
case status may be an EFI error code even though we found a usable
GOP.

Fix this by explicitly return EFI_SUCCESS if a usable GOP has been
located.

Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Cc: Bhupesh Sharma <bhsharma@xxxxxxxxxx>
Cc: Masayoshi Mizuma <m.mizuma@xxxxxxxxxxxxxx>
Cc: linux-efi@xxxxxxxxxxxxxxx
Link: https://lkml.kernel.org/r/20191206165542.31469-4-ardb@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
drivers/firmware/efi/libstub/gop.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/efi/libstub/gop.c b/drivers/firmware/efi/libstub/gop.c
index 08f3c1a..69b2b01 100644
--- a/drivers/firmware/efi/libstub/gop.c
+++ b/drivers/firmware/efi/libstub/gop.c
@@ -198,7 +198,7 @@ setup_gop32(efi_system_table_t *sys_table_arg, struct screen_info *si,

si->capabilities |= VIDEO_CAPABILITY_SKIP_QUIRKS;

- return status;
+ return EFI_SUCCESS;
}

static efi_status_t
@@ -316,7 +316,7 @@ setup_gop64(efi_system_table_t *sys_table_arg, struct screen_info *si,

si->capabilities |= VIDEO_CAPABILITY_SKIP_QUIRKS;

- return status;
+ return EFI_SUCCESS;
}

/*