openwrtv4/target/linux/generic/patches-3.14/997-device_tree_cmdline.patch
John Crispin 90ef62c78f kernel: preserve bootloader command line on MIPS
Somewhere in the conversion of the MIPS architecture code to Device Tree
usage, there's been a failure to keep the separate variables holding the
kernel command line reconciled between the tree and the bootloader. This
patch restores previous functionality that broke.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>

SVN-Revision: 44030
2015-01-18 09:40:53 +00:00

28 lines
1.1 KiB
Diff

Index: linux-3.14.28/drivers/of/fdt.c
===================================================================
--- linux-3.14.28.orig/drivers/of/fdt.c 2015-01-08 10:01:03.000000000 -0800
+++ linux-3.14.28/drivers/of/fdt.c 2015-01-17 20:29:51.674740290 -0800
@@ -817,6 +817,9 @@
p = of_get_flat_dt_prop(node, "bootargs", &l);
if (p != NULL && l > 0)
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
+ p = of_get_flat_dt_prop(node, "bootargs-append", &l);
+ if (p != NULL && l > 0)
+ strlcat(data, p, min_t(int, strlen(data) + (int)l, COMMAND_LINE_SIZE));
/*
* CONFIG_CMDLINE is meant to be a default in case nothing else
Index: linux-3.14.28/arch/mips/kernel/prom.c
===================================================================
--- linux-3.14.28.orig/arch/mips/kernel/prom.c 2015-01-17 20:30:09.922830766 -0800
+++ linux-3.14.28/arch/mips/kernel/prom.c 2015-01-17 20:30:54.095049815 -0800
@@ -49,6 +49,9 @@
void __init __dt_setup_arch(struct boot_param_header *bph)
{
+ if (boot_command_line[0] == '\0')
+ strcpy(boot_command_line, arcs_cmdline);
+
if (!early_init_dt_scan(bph))
return;