tty: nfcon: use console_is_registered()
Currently CON_ENABLED is being (mis)used to identify if the console has been registered. This is not reliable because it can be set even though registration failed or it can be unset, even though the console is registered. Use console_is_registered() instead. Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20221116162152.193147-24-john.ogness@linutronix.de
This commit is contained in:
parent
452b9b2475
commit
de61a1a3a0
@ -49,7 +49,7 @@ static void nfcon_write(struct console *con, const char *str,
|
||||
static struct tty_driver *nfcon_device(struct console *con, int *index)
|
||||
{
|
||||
*index = 0;
|
||||
return (con->flags & CON_ENABLED) ? nfcon_tty_driver : NULL;
|
||||
return console_is_registered(con) ? nfcon_tty_driver : NULL;
|
||||
}
|
||||
|
||||
static struct console nf_console = {
|
||||
@ -107,6 +107,11 @@ static int __init nf_debug_setup(char *arg)
|
||||
|
||||
stderr_id = nf_get_id("NF_STDERR");
|
||||
if (stderr_id) {
|
||||
/*
|
||||
* The console will be enabled when debug=nfcon is specified
|
||||
* as a kernel parameter. Since this is a non-standard way
|
||||
* of enabling consoles, it must be explicitly enabled.
|
||||
*/
|
||||
nf_console.flags |= CON_ENABLED;
|
||||
register_console(&nf_console);
|
||||
}
|
||||
@ -151,7 +156,7 @@ static int __init nfcon_init(void)
|
||||
|
||||
nfcon_tty_driver = driver;
|
||||
|
||||
if (!(nf_console.flags & CON_ENABLED))
|
||||
if (!console_is_registered(&nf_console))
|
||||
register_console(&nf_console);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user