Commit 12f1da5f authored by John Ogness's avatar John Ogness Committed by Petr Mladek

printk: console_is_usable: use console_srcu_read_flags

All users of console_is_usable() are SRCU iterators. Use the
appropriate wrapper function to locklessly read the flags.
Signed-off-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20221116162152.193147-18-john.ogness@linutronix.de
parent eb7f1ed2
...@@ -2709,11 +2709,13 @@ static bool abandon_console_lock_in_panic(void) ...@@ -2709,11 +2709,13 @@ static bool abandon_console_lock_in_panic(void)
* Check if the given console is currently capable and allowed to print * Check if the given console is currently capable and allowed to print
* records. * records.
* *
* Requires the console_lock. * Requires the console_srcu_read_lock.
*/ */
static inline bool console_is_usable(struct console *con) static inline bool console_is_usable(struct console *con)
{ {
if (!(con->flags & CON_ENABLED)) short flags = console_srcu_read_flags(con);
if (!(flags & CON_ENABLED))
return false; return false;
if (!con->write) if (!con->write)
...@@ -2724,8 +2726,7 @@ static inline bool console_is_usable(struct console *con) ...@@ -2724,8 +2726,7 @@ static inline bool console_is_usable(struct console *con)
* allocated. So unless they're explicitly marked as being able to * allocated. So unless they're explicitly marked as being able to
* cope (CON_ANYTIME) don't call them until this CPU is officially up. * cope (CON_ANYTIME) don't call them until this CPU is officially up.
*/ */
if (!cpu_online(raw_smp_processor_id()) && if (!cpu_online(raw_smp_processor_id()) && !(flags & CON_ANYTIME))
!(con->flags & CON_ANYTIME))
return false; return false;
return true; return true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment