[PATCH 1/1] x86,earlyprintk: Fix regression to handle serial,ttySn as 1 arg

From: Jason Wessel
Date: Thu Sep 24 2009 - 10:00:01 EST


Commit c9530948bc626c8b638015c0b32abb9615659ec6 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: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
---
Documentation/kernel-parameters.txt | 1 +
arch/x86/kernel/early_printk.c | 5 ++++-
2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 6fa7292..9107b38 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -671,6 +671,7 @@ and is between 256 and 4096 characters. It is defined in the file
earlyprintk= [X86,SH,BLACKFIN]
earlyprintk=vga
earlyprintk=serial[,ttySn[,baudrate]]
+ earlyprintk=ttySn[,baudrate]
earlyprintk=dbgp[debugController#]

Append ",keep" to not disable it when the real console
diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c
index 2acfd3f..b7bfdd5 100644
--- a/arch/x86/kernel/early_printk.c
+++ b/arch/x86/kernel/early_printk.c
@@ -201,8 +201,11 @@ static int __init setup_early_printk(char *buf)

while (*buf != '\0') {
if (!strncmp(buf, "serial", 6)) {
- early_serial_init(buf + 6);
+ buf += 6;
+ early_serial_init(buf);
early_console_register(&early_serial_console, keep);
+ if (!strncmp(buf, ",ttyS", 5))
+ buf += 5;
}
if (!strncmp(buf, "ttyS", 4)) {
early_serial_init(buf + 4);
--
1.6.3.1.9.g95405b


--------------060909040007080306010308--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/