query_vidconsole() matched the stdout environment value with a strncmp
against "vidconsole", but stdout may be a comma-separated list (e.g.
"serial,vidconsole"); match the substring instead.

Signed-off-by: Valentin Haudiquet <[email protected]>
---
 lib/efi_loader/efi_console.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c
index 8d076058280..85f1a9312d9 100644
--- a/lib/efi_loader/efi_console.c
+++ b/lib/efi_loader/efi_console.c
@@ -344,7 +344,8 @@ static int __maybe_unused query_vidconsole(int *rows, int 
*cols)
        struct udevice *dev;
        struct vidconsole_priv *priv;
 
-       if (!stdout_name || strncmp(stdout_name, "vidconsole", 10))
+       /* stdout may be a comma-separated list, e.g. "serial,vidconsole" */
+       if (!stdout_name || !strstr(stdout_name, "vidconsole"))
                return -ENODEV;
        stdout_dev = stdio_get_by_name("vidconsole");
        if (!stdout_dev)
-- 
2.53.0

Reply via email to