From: Thomas Gleixner The idle-thread-preemption-fix.patch in mm1/2 leads to a stalled box on PPC machines which do not provide a powersave function and therefor poll the idle loop with interrupts disabled. The patch reenables interrupts. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton --- 25-akpm/arch/ppc/kernel/idle.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff -puN arch/ppc/kernel/idle.c~ppc-fix-idle-with-interrupts-disabled arch/ppc/kernel/idle.c --- 25/arch/ppc/kernel/idle.c~ppc-fix-idle-with-interrupts-disabled 2005-01-09 23:59:36.793749192 -0800 +++ 25-akpm/arch/ppc/kernel/idle.c 2005-01-09 23:59:36.796748736 -0800 @@ -41,14 +41,17 @@ void default_idle(void) if (!need_resched()) { if (powersave != NULL) powersave(); -#ifdef CONFIG_SMP else { +#ifdef CONFIG_SMP set_thread_flag(TIF_POLLING_NRFLAG); + local_irq_enable(); while (!need_resched()) barrier(); clear_thread_flag(TIF_POLLING_NRFLAG); - } +#else + local_irq_enable(); #endif + } } if (need_resched()) schedule(); _