[PATCH 2.4.2x, 2.6.x][PPC32] don't recursively crash in die() on CHRP/PReP machines

From: Jakub Bogusz
Date: Thu Dec 02 2004 - 05:33:10 EST


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.

Should apply to latest 2.4.x and 2.6.x as well.


--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
--- linux-2.4.27/arch/ppc/kernel/traps.c.orig Wed Apr 14 15:05:27 2004
+++ linux-2.4.27/arch/ppc/kernel/traps.c Mon Nov 29 19:05:28 2004
@@ -88,8 +88,10 @@
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\n", str, err);
show_regs(fp);