diff options
3 files changed, 59 insertions, 6 deletions
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 }; |