It is superfluous to set "has_preferred" when the really preferred
console is enabled. The variable "i" is index of an array. Therefore
"has_preferred" is set only when preferred_console is >= 0. But then
it was already true because of the above code:

        if (!has_preferred || bcon || !console_drivers)
                has_preferred = preferred_console >= 0;

This line was added by the commit ab4af03a4054bd78bc ("[PATCH] CON_CONSDEV
bit not set correctly on last console"). It was kind of logic to store
the really used index there. But this commit actually caused that
"preferred_console" started to be used only as a boolean. This was
discovered and corrected by the commit b077bafa2f3848ddfcef ("printk:
fix name/type/scope of preferred_console var").

Signed-off-by: Petr Mladek <[email protected]>
---
 kernel/printk/printk.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index a1db38abac5b..8ebc480fdbc6 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2489,10 +2489,8 @@ void register_console(struct console *newcon)
                }
 
                newcon->flags |= CON_ENABLED;
-               if (i == preferred_console) {
+               if (i == preferred_console)
                        newcon->flags |= CON_CONSDEV;
-                       has_preferred = true;
-               }
                break;
        }
 
-- 
1.8.5.6

Reply via email to