printk: Let console_is_usable() handle nbcon

The nbcon consoles use a different printing callback. For nbcon
consoles, check for the write_atomic() callback instead of
write().

Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20240820063001.36405-18-john.ogness@linutronix.de
Signed-off-by: Petr Mladek <pmladek@suse.com>
This commit is contained in:
John Ogness 2024-08-20 08:35:43 +02:06 committed by Petr Mladek
parent 864c25c83d
commit 20846d1ce2

View File

@ -86,6 +86,8 @@ void nbcon_free(struct console *con);
/*
* Check if the given console is currently capable and allowed to print
* records. Note that this function does not consider the current context,
* which can also play a role in deciding if @con can be used to print
* records.
*
* Requires the console_srcu_read_lock.
@ -100,8 +102,13 @@ static inline bool console_is_usable(struct console *con)
if ((flags & CON_SUSPENDED))
return false;
if (!con->write)
return false;
if (flags & CON_NBCON) {
if (!con->write_atomic)
return false;
} else {
if (!con->write)
return false;
}
/*
* Console drivers may assume that per-cpu resources have been