From 99a2ffcf90ad25dfd794439fdda5dee8bae2f213 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 20 Dec 2012 14:37:39 +0000
Subject: ppc40x: add missing NULL terminator to avoid boot panic on PPC40x

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34799 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 ...-missing-NULL-terminator-to-avoid-boot-pa.patch | 53 ++++++++++++++++++++++
 target/linux/ppc40x/patches-3.6/004-magicbox.patch |  6 +--
 target/linux/ppc40x/patches-3.6/005-openrb.patch   |  6 +--
 3 files changed, 59 insertions(+), 6 deletions(-)
 create mode 100644 target/linux/ppc40x/patches-3.6/001-powerpc-add-missing-NULL-terminator-to-avoid-boot-pa.patch

(limited to 'target/linux')

diff --git a/target/linux/ppc40x/patches-3.6/001-powerpc-add-missing-NULL-terminator-to-avoid-boot-pa.patch b/target/linux/ppc40x/patches-3.6/001-powerpc-add-missing-NULL-terminator-to-avoid-boot-pa.patch
new file mode 100644
index 000000000..0bb28601c
--- /dev/null
+++ b/target/linux/ppc40x/patches-3.6/001-powerpc-add-missing-NULL-terminator-to-avoid-boot-pa.patch
@@ -0,0 +1,53 @@
+From 107b76e67aa0447fc4ea5594823f8ffd2699fbc7 Mon Sep 17 00:00:00 2001
+From: Gabor Juhos <juhosg@openwrt.org>
+Date: Thu, 20 Dec 2012 14:22:38 +0100
+Subject: [PATCH] powerpc: add missing NULL terminator to avoid boot panic on
+ PPC40x
+
+The missing NULL terminator can cause a panic on
+PPC405 boards during boot:
+
+  Linux/PowerPC load: console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit
+  Finalizing device tree... flat tree at 0x6a5160
+  bootconsole [udbg0] enabled
+  Page fault in user mode with in_atomic() = 1 mm = (null)
+  NIP = c0275f50  MSR = fffffffe
+  Oops: Weird page fault, sig: 11 [#1]
+  PowerPC 40x Platform
+  Modules linked in:
+  NIP: c0275f50 LR: c0275f60 CTR: c0280000
+  REGS: c0275eb0 TRAP: 636f7265   Not tainted  (3.7.1)
+  MSR: fffffffe <VEC,VSX,EE,PR,FP,ME,SE,BE,IR,DR,PMM,RI> CR: c06a6190  XER: 00000001
+  TASK = c02662a8[0] 'swapper' THREAD: c0274000
+  GPR00: c0275ec0 c000c658 c027c4bf 00000000 c0275ee0 c000a0ec c020a1a8 c020a1f0
+  GPR08: c020f631 c020f404 c025f078 c025f080 c0275f10
+   Call Trace:
+   ---[ end trace 31fd0ba7d8756001 ]---
+
+  Kernel panic - not syncing: Attempted to kill the idle task!
+
+The panic happens since commit 9597abe00c1bab2aedce6b49866bf6d1e81c9eed
+(sections: fix section conflicts in arch/powerpc), however the root
+cause of this is that the NULL terminator were not added in commit
+a4f740cf33f7f6c164bbde3c0cdbcc77b0c4997c (of/flattree: Add of_flat_dt_match()
+helper function).
+
+Cc: Grant Likely <grant.likely@secretlab.ca>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ arch/powerpc/platforms/40x/ppc40x_simple.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/powerpc/platforms/40x/ppc40x_simple.c
++++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
+@@ -57,7 +57,8 @@ static const char *board[] __initdata =
+ 	"amcc,makalu",
+ 	"apm,klondike",
+ 	"est,hotfoot",
+-	"plathome,obs600"
++	"plathome,obs600",
++	NULL
+ };
+ 
+ static int __init ppc40x_probe(void)
diff --git a/target/linux/ppc40x/patches-3.6/004-magicbox.patch b/target/linux/ppc40x/patches-3.6/004-magicbox.patch
index 1c6c4b74e..559270dd5 100644
--- a/target/linux/ppc40x/patches-3.6/004-magicbox.patch
+++ b/target/linux/ppc40x/patches-3.6/004-magicbox.patch
@@ -436,11 +436,11 @@
  	depends on 40x
 --- a/arch/powerpc/platforms/40x/ppc40x_simple.c
 +++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
-@@ -57,6 +57,7 @@ static const char *board[] __initdata =
- 	"amcc,makalu",
+@@ -58,6 +58,7 @@ static const char *board[] __initdata =
  	"apm,klondike",
  	"est,hotfoot",
+ 	"plathome,obs600",
 +	"magicbox",
- 	"plathome,obs600"
+ 	NULL
  };
  
diff --git a/target/linux/ppc40x/patches-3.6/005-openrb.patch b/target/linux/ppc40x/patches-3.6/005-openrb.patch
index 022c2486b..949ee89ef 100644
--- a/target/linux/ppc40x/patches-3.6/005-openrb.patch
+++ b/target/linux/ppc40x/patches-3.6/005-openrb.patch
@@ -437,11 +437,11 @@
  	depends on 40x
 --- a/arch/powerpc/platforms/40x/ppc40x_simple.c
 +++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
-@@ -58,6 +58,7 @@ static const char *board[] __initdata =
- 	"apm,klondike",
+@@ -59,6 +59,7 @@ static const char *board[] __initdata =
  	"est,hotfoot",
+ 	"plathome,obs600",
  	"magicbox",
 +	"openrb",
- 	"plathome,obs600"
+ 	NULL
  };
  
-- 
cgit v1.2.3