| From c6290bd06879411596fbbc5ab26c86b88deb895b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 6 Dec 2019 16:55:39 +0000 |
| Subject: efi/gop: Return EFI_SUCCESS if a usable GOP was found |
| |
| From: Arvind Sankar <nivedita@alum.mit.edu> |
| |
| [ Upstream commit dbd89c303b4420f6cdb689fd398349fc83b059dd ] |
| |
| 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@alum.mit.edu> |
| Signed-off-by: Ard Biesheuvel <ardb@kernel.org> |
| Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Cc: Bhupesh Sharma <bhsharma@redhat.com> |
| Cc: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> |
| Cc: linux-efi@vger.kernel.org |
| Link: https://lkml.kernel.org/r/20191206165542.31469-4-ardb@kernel.org |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 08f3c1a2fb48..69b2b019a1d0 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; |
| } |
| |
| /* |
| -- |
| 2.20.1 |
| |