From: Andy Shevchenko Date: Thu, 18 Jun 2020 16:47:50 +0000 (+0300) Subject: console: Propagate error code from console ->setup() X-Git-Tag: v5.9-rc1~151^2^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bba18a1af33e0f0a1ad7d028208b306ef3f3df12;p=thirdparty%2Fkernel%2Flinux.git console: Propagate error code from console ->setup() Since console ->setup() hook returns meaningful error codes, propagate it to the caller of try_enable_new_console(). Signed-off-by: Andy Shevchenko Reviewed-by: Petr Mladek Acked-by: Benjamin Herrenschmidt Signed-off-by: Petr Mladek Link: https://lore.kernel.org/r/20200618164751.56828-6-andriy.shevchenko@linux.intel.com --- diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 8c14835be46c9..aaea3ad182e10 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2668,7 +2668,7 @@ early_param("keep_bootcon", keep_bootcon_setup); static int try_enable_new_console(struct console *newcon, bool user_specified) { struct console_cmdline *c; - int i; + int i, err; for (i = 0, c = console_cmdline; i < MAX_CMDLINECONSOLES && c->name[0]; @@ -2691,8 +2691,8 @@ static int try_enable_new_console(struct console *newcon, bool user_specified) return 0; if (newcon->setup && - newcon->setup(newcon, c->options) != 0) - return -EIO; + (err = newcon->setup(newcon, c->options)) != 0) + return err; } newcon->flags |= CON_ENABLED; if (i == preferred_console) {