[PATCHv2 2/4] printk: remove invalid register_console() comment
From: Sergey Senozhatsky
Date: Fri Apr 26 2019 - 01:33:22 EST
We don't iterate consoles twice, since commit 8259cf434202
("printk: Ensure that "console enabled" messages are printed
on the console"), so the comment is not valid anymore, and
can be removed, as was suggested by Petr.
The patch also invokes pr_info("%sconsole [%s%d] enabled\n")
before we unlock_consoles(), just to make sure that we really
print that message on every registered and enabled console.
Suggested-by: Petr Mladek <pmladek@xxxxxxxx>
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
---
kernel/printk/printk.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index b0e361ca1bea..3ac71701afa3 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2806,9 +2806,22 @@ void register_console(struct console *newcon)
exclusive_console_stop_seq = console_seq;
logbuf_unlock_irqrestore(flags);
}
+
+ /*
+ * We are still under console_sem, pr_info() will only add the message
+ * to the kernel's log buffer. console_unlock() will print it on all
+ * registered and enabled consoles.
+ */
+ pr_info("%sconsole [%s%d] enabled\n",
+ (newcon->flags & CON_BOOT) ? "boot" : "",
+ newcon->name, newcon->index);
+
console_unlock();
console_sysfs_notify();
+ if (keep_bootcon)
+ return;
+
/*
* By unregistering the bootconsoles after we enable the real console
* we get the "console xxx enabled" message on all the consoles -
@@ -2816,19 +2829,8 @@ void register_console(struct console *newcon)
* users know there might be something in the kernel's log buffer that
* went to the bootconsole (that they do not see on the real console)
*/
- pr_info("%sconsole [%s%d] enabled\n",
- (newcon->flags & CON_BOOT) ? "boot" : "" ,
- newcon->name, newcon->index);
-
- if (keep_bootcon)
- return;
-
if (bcon && (newcon->flags & (CON_CONSDEV|CON_BOOT)) == CON_CONSDEV) {
console_lock();
- /*
- * We need to iterate through all boot consoles, to make
- * sure we print everything out, before we unregister them.
- */
for_each_console(bcon)
if (bcon->flags & CON_BOOT)
__unregister_console(bcon);
--
2.21.0