[PATCH v1 5/6] console: Propagate error code from console ->setup()

2020-06-18 Thread Andy Shevchenko
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()

2020-06-18 Thread Benjamin Herrenschmidt
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) {