Re: [origin tree boot hang] [PATCH] Revert "early_printk:Allowmorethan one early console"

From: Ingo Molnar
Date: Thu Oct 01 2009 - 04:35:48 EST



* Jason Wessel <jason.wessel@xxxxxxxxxxxxx> wrote:

> >From 047b893e33041dbaf17b2a7eb03ea20486344d6f Mon Sep 17 00:00:00 2001
> From: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
> Date: Thu, 24 Sep 2009 09:00:01 -0500
> Subject: [PATCH 1/1] x86,earlyprintk: Fix regression to handle serial,ttySn as 1 arg
>
> 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;
> }

Looks good, beyond the tab-as-four-spaces ugliness which i fixed.

( and the 5/6 literals look a bit ugly too but are obvious and i dont
see a cleaner way to write them. )

Thanks,

Ingo
--
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/