* backport 2.6.8 patches to .39 / .32.33
[openwrt/openwrt.git] / target / linux / lantiq / patches-2.6.39 / 230-cmdline_hack.patch
diff --git a/target/linux/lantiq/patches-2.6.39/230-cmdline_hack.patch b/target/linux/lantiq/patches-2.6.39/230-cmdline_hack.patch
new file mode 100644 (file)
index 0000000..df23286
--- /dev/null
@@ -0,0 +1,45 @@
+--- a/arch/mips/lantiq/prom.c
++++ b/arch/mips/lantiq/prom.c
+@@ -39,6 +39,34 @@
+ {
+ }
++#ifdef CONFIG_IMAGE_CMDLINE_HACK
++extern char __image_cmdline[];
++
++static void __init
++prom_init_image_cmdline(void)
++{
++      char *p = __image_cmdline;
++      int replace = 0;
++
++      if (*p == '-') {
++              replace = 1;
++              p++;
++      }
++
++      if (*p == '\0')
++              return;
++
++      if (replace) {
++              strlcpy(arcs_cmdline, p, sizeof(arcs_cmdline));
++      } else {
++              strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
++              strlcat(arcs_cmdline, p, sizeof(arcs_cmdline));
++      }
++}
++#else
++static void __init prom_init_image_cmdline(void) { return; }
++#endif
++
+ static void __init prom_init_cmdline(void)
+ {
+       int argc = fw_arg0;
+@@ -53,6 +81,7 @@
+                       strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
+               }
+       }
++      prom_init_image_cmdline();
+ }
+ void __init prom_init(void)