]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
[POWERPC] Fix builtin command line interaction with firmware
authorAmos Waterland <apw@us.ibm.com>
Tue, 13 Jun 2006 03:45:02 +0000 (23:45 -0400)
committerPaul Mackerras <paulus@samba.org>
Thu, 15 Jun 2006 09:31:26 +0000 (19:31 +1000)
It seems that prom_init's early_cmdline_parse is broken on at least
Apple 970 xserves and IBM JS20 blades with SLOF.  The firmware of these
machines returns -1 and 1 respectively when getprop is called for the
bootargs property of /chosen, causing Linux to ignore its builtin
command line in favor of a null string.  This patch makes Linux use its
builtin command line if getprop returns an error or a null string.

Signed-off-by: Amos Waterland <apw@us.ibm.com>
Acked-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/prom_init.c

index 57d8a16438a02324186cce165d768e637eaba63b..8c28eb0cbdac7392c3ed9d895e67aa81545b7613 100644 (file)
@@ -567,7 +567,7 @@ static void __init early_cmdline_parse(void)
        if ((long)_prom->chosen > 0)
                l = prom_getprop(_prom->chosen, "bootargs", p, COMMAND_LINE_SIZE-1);
 #ifdef CONFIG_CMDLINE
-       if (l == 0) /* dbl check */
+       if (l <= 0 || p[0] == '\0') /* dbl check */
                strlcpy(RELOC(prom_cmd_line),
                        RELOC(CONFIG_CMDLINE), sizeof(prom_cmd_line));
 #endif /* CONFIG_CMDLINE */