printk: Check CON_SUSPEND when unblanking a console

[ Upstream commit 72c96a2dacc0fb056d13a5f02b0845c4c910fe54 ]

The commit 9e70a5e109 ("printk: Add per-console suspended state")
introduced the CON_SUSPENDED flag for consoles. The suspended consoles
will stop receiving messages, so don't unblank suspended consoles
because it won't be showing anything either way.

Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: John Ogness <john.ogness@linutronix.de>
Link: https://lore.kernel.org/r/20250226-printk-renaming-v1-5-0b878577f2e6@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Marcos Paulo de Souza
2025-02-26 16:59:05 -03:00
committed by Greg Kroah-Hartman
parent 8a7f2e84f8
commit 386a1a0d55

View File

@@ -3119,7 +3119,12 @@ void console_unblank(void)
*/ */
cookie = console_srcu_read_lock(); cookie = console_srcu_read_lock();
for_each_console_srcu(c) { for_each_console_srcu(c) {
if ((console_srcu_read_flags(c) & CON_ENABLED) && c->unblank) { short flags = console_srcu_read_flags(c);
if (flags & CON_SUSPENDED)
continue;
if ((flags & CON_ENABLED) && c->unblank) {
found_unblank = true; found_unblank = true;
break; break;
} }
@@ -3156,7 +3161,12 @@ void console_unblank(void)
cookie = console_srcu_read_lock(); cookie = console_srcu_read_lock();
for_each_console_srcu(c) { for_each_console_srcu(c) {
if ((console_srcu_read_flags(c) & CON_ENABLED) && c->unblank) short flags = console_srcu_read_flags(c);
if (flags & CON_SUSPENDED)
continue;
if ((flags & CON_ENABLED) && c->unblank)
c->unblank(); c->unblank();
} }
console_srcu_read_unlock(cookie); console_srcu_read_unlock(cookie);