[systemd-devel] [PATCH 1/1] graphics: Do not require nonstandard console control protocol

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Wed Jan 15 03:08:04 PST 2014


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.lahtinen at 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



More information about the systemd-devel mailing list