Commit 0517deed authored by Michael Ellerman's avatar Michael Ellerman Committed by David S. Miller

netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole

Since 0bcc1816 (netconsole: Support
dynamic reconfiguration using configfs), the netconsole is always
registered, regardless of whether the user actually specified a
netconsole configuration on the command line.

However because netconsole has CON_PRINTBUFFER set, when it is
registered it causes the printk buffer to be replayed to all consoles.
When there is no netconsole configured this is a) pointless, and b)
somewhat annoying for the user of the existing console.

So instead we should only set CON_PRINTBUFFER if there is a netconsole
configuration found on the command line. This retains the existing
behaviour if a netconsole is setup by the user, and avoids spamming
other consoles when we're only registering for the dynamic
netconsole case.
Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 56690c21
...@@ -730,7 +730,7 @@ static void write_msg(struct console *con, const char *msg, unsigned int len) ...@@ -730,7 +730,7 @@ static void write_msg(struct console *con, const char *msg, unsigned int len)
static struct console netconsole = { static struct console netconsole = {
.name = "netcon", .name = "netcon",
.flags = CON_ENABLED | CON_PRINTBUFFER, .flags = CON_ENABLED,
.write = write_msg, .write = write_msg,
}; };
...@@ -749,6 +749,9 @@ static int __init init_netconsole(void) ...@@ -749,6 +749,9 @@ static int __init init_netconsole(void)
err = PTR_ERR(nt); err = PTR_ERR(nt);
goto fail; goto fail;
} }
/* Dump existing printks when we register */
netconsole.flags |= CON_PRINTBUFFER;
spin_lock_irqsave(&target_list_lock, flags); spin_lock_irqsave(&target_list_lock, flags);
list_add(&nt->list, &target_list); list_add(&nt->list, &target_list);
spin_unlock_irqrestore(&target_list_lock, flags); spin_unlock_irqrestore(&target_list_lock, flags);
......
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