Console Control Protocol is a nonstandard UEFI interface and lack of
it shall not be treated as an error.

Signed-off-by: Joonas Lahtinen <joonas.lahti...@linux.intel.com>
---
 src/efi/graphics.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/efi/graphics.c b/src/efi/graphics.c
index 062ce27..c85daa3 100644
--- a/src/efi/graphics.c
+++ b/src/efi/graphics.c
@@ -67,8 +67,10 @@ EFI_STATUS graphics_mode(BOOLEAN on) {
         EFI_STATUS err;
 
         err = LibLocateProtocol(&ConsoleControlProtocolGuid, (VOID 
**)&ConsoleControl);
-        if (EFI_ERROR(err))
-                return err;
+        if (EFI_ERROR(err)) {
+                /* console control protocol is nonstandard and might not 
exist. */
+                return err == EFI_NOT_FOUND ? EFI_SUCCESS : err;
+        }
 
         /* check current mode */
         err = uefi_call_wrapper(ConsoleControl->GetMode, 4, ConsoleControl, 
&current, &uga_exists, &stdin_locked);
-- 
1.8.1.4

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to