ppc40x: add missing NULL terminator to avoid boot panic on PPC40x

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

SVN-Revision: 34799
owl
Gabor Juhos 2012-12-20 14:37:39 +00:00
parent e108cb91c0
commit 708c8c3d0d
3 changed files with 59 additions and 6 deletions

View File

@ -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)

View File

@ -436,11 +436,11 @@
depends on 40x depends on 40x
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c --- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c +++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
@@ -57,6 +57,7 @@ static const char *board[] __initdata = @@ -58,6 +58,7 @@ static const char *board[] __initdata =
"amcc,makalu",
"apm,klondike", "apm,klondike",
"est,hotfoot", "est,hotfoot",
"plathome,obs600",
+ "magicbox", + "magicbox",
"plathome,obs600" NULL
}; };

View File

@ -437,11 +437,11 @@
depends on 40x depends on 40x
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c --- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c +++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
@@ -58,6 +58,7 @@ static const char *board[] __initdata = @@ -59,6 +59,7 @@ static const char *board[] __initdata =
"apm,klondike",
"est,hotfoot", "est,hotfoot",
"plathome,obs600",
"magicbox", "magicbox",
+ "openrb", + "openrb",
"plathome,obs600" NULL
}; };