From: Jakub Bogusz 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 Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton --- 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 _