From: Jakub Bogusz <qboosh@pld-linux.org>

This patch avoids recursive crash (leading to kernel stack overflow) in
die() on CHRP/PReP machines when CONFIG_PMAC_BACKLIGHT=y.  set_backlight_*
functions are placed in pmac section, which is discarded when _machine !=
_MACH_Pmac.

Signed-off-by: Jakub Bogusz <qboosh@pld-linux.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/ppc/kernel/traps.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff -puN arch/ppc/kernel/traps.c~ppc32-dont-recursively-crash-in-die-on-chrp-prep-machines arch/ppc/kernel/traps.c
--- 25/arch/ppc/kernel/traps.c~ppc32-dont-recursively-crash-in-die-on-chrp-prep-machines	2005-06-15 17:39:19.000000000 -0700
+++ 25-akpm/arch/ppc/kernel/traps.c	2005-06-15 17:39:19.000000000 -0700
@@ -81,8 +81,10 @@ void die(const char * str, struct pt_reg
 	console_verbose();
 	spin_lock_irq(&die_lock);
 #ifdef CONFIG_PMAC_BACKLIGHT
-	set_backlight_enable(1);
-	set_backlight_level(BACKLIGHT_MAX);
+	if (_machine == _MACH_Pmac) {
+		set_backlight_enable(1);
+		set_backlight_level(BACKLIGHT_MAX);
+	}
 #endif
 	printk("Oops: %s, sig: %ld [#%d]\n", str, err, ++die_counter);
 #ifdef CONFIG_PREEMPT
_