]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
printk: Use console_is_usable on console_unblank
authorMarcos Paulo de Souza <mpdesouza@suse.com>
Fri, 21 Nov 2025 18:50:35 +0000 (15:50 -0300)
committerPetr Mladek <pmladek@suse.com>
Thu, 27 Nov 2025 14:54:50 +0000 (15:54 +0100)
The macro for_each_console_srcu iterates over all registered consoles. It's
implied that all registered consoles have CON_ENABLED flag set, making
the check for the flag unnecessary. Call console_is_usable function to
fully verify if the given console is usable before calling the ->unblank
callback.

Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://patch.msgid.link/20251121-printk-cleanup-part2-v2-3-57b8b78647f4@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
kernel/printk/printk.c

index 5aee9ffb16b9a5e7bfadb0266a77bfa569e50e51..ac5f38213f82b727d0923b90b9e2f36f693a9b34 100644 (file)
@@ -3331,12 +3331,10 @@ void console_unblank(void)
         */
        cookie = console_srcu_read_lock();
        for_each_console_srcu(c) {
-               short flags = console_srcu_read_flags(c);
-
-               if (flags & CON_SUSPENDED)
+               if (!console_is_usable(c, console_srcu_read_flags(c), true))
                        continue;
 
-               if ((flags & CON_ENABLED) && c->unblank) {
+               if (c->unblank) {
                        found_unblank = true;
                        break;
                }
@@ -3373,12 +3371,10 @@ void console_unblank(void)
 
        cookie = console_srcu_read_lock();
        for_each_console_srcu(c) {
-               short flags = console_srcu_read_flags(c);
-
-               if (flags & CON_SUSPENDED)
+               if (!console_is_usable(c, console_srcu_read_flags(c), true))
                        continue;
 
-               if ((flags & CON_ENABLED) && c->unblank)
+               if (c->unblank)
                        c->unblank();
        }
        console_srcu_read_unlock(cookie);