[PATCH v1 5/6] 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 Cc: Benjamin Herrenschmidt --- kernel/printk/printk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 8c14835be46c..aaea3ad182e1 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) { -- 2.27.0
Re: [PATCH v1 5/6] console: Propagate error code from console ->setup()
On Thu, 2020-06-18 at 19:47 +0300, Andy Shevchenko wrote: > Since console ->setup() hook returns meaningful error codes, > propagate it to the caller of try_enable_new_console(). > > Signed-off-by: Andy Shevchenko > Acked-by: Benjamin Herrenschmidt > ---A > kernel/printk/printk.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index 8c14835be46c..aaea3ad182e1 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) {