Commit ea3acb19 authored by Jason Wessel's avatar Jason Wessel Committed by Ingo Molnar

x86: earlyprintk: Fix regression to handle serial,ttySn as 1 arg

Commit c9530948 ("early_printk: Allow more than one early console")
introduced a regression in the parsing of the earlyprintk= kernel
arguments.

If you specify "earlyprintk=serial,ttyS0,115200" as a kernel
argument, the "serial,ttyS" should be parsed as a single argument
and not as "serial" and then "ttyS".

Also update the documentation to reflect you can specify the ttyS
directly without the "serial" argument.
Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Greg KH <gregkh@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
LKML-Reference: <4ABB7D5E.6000301@windriver.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 04edbdef
...@@ -671,6 +671,7 @@ and is between 256 and 4096 characters. It is defined in the file ...@@ -671,6 +671,7 @@ and is between 256 and 4096 characters. It is defined in the file
earlyprintk= [X86,SH,BLACKFIN] earlyprintk= [X86,SH,BLACKFIN]
earlyprintk=vga earlyprintk=vga
earlyprintk=serial[,ttySn[,baudrate]] earlyprintk=serial[,ttySn[,baudrate]]
earlyprintk=ttySn[,baudrate]
earlyprintk=dbgp[debugController#] earlyprintk=dbgp[debugController#]
Append ",keep" to not disable it when the real console Append ",keep" to not disable it when the real console
......
...@@ -206,8 +206,11 @@ static int __init setup_early_printk(char *buf) ...@@ -206,8 +206,11 @@ static int __init setup_early_printk(char *buf)
while (*buf != '\0') { while (*buf != '\0') {
if (!strncmp(buf, "serial", 6)) { if (!strncmp(buf, "serial", 6)) {
early_serial_init(buf + 6); buf += 6;
early_serial_init(buf);
early_console_register(&early_serial_console, keep); early_console_register(&early_serial_console, keep);
if (!strncmp(buf, ",ttyS", 5))
buf += 5;
} }
if (!strncmp(buf, "ttyS", 4)) { if (!strncmp(buf, "ttyS", 4)) {
early_serial_init(buf + 4); early_serial_init(buf + 4);
......
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