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
