diff -rauN linux-2.6.14.orig/arch/ppc/kernel/signal.c linux-2.6.14/arch/ppc/kernel/signal.c --- linux-2.6.14.orig/arch/ppc/kernel/signal.c 2005-10-28 04:02:08.000000000 +0400 +++ linux-2.6.14/arch/ppc/kernel/signal.c 2005-11-30 17:24:15.268137752 +0300 @@ -705,6 +705,14 @@ unsigned long frame, newsp; int signr, ret; +#ifdef CONFIG_PREEMPT_RT + /* + * Fully-preemptible kernel does not need interrupts disabled: + */ + local_irq_enable(); + preempt_check_resched(); +#endif + if (try_to_freeze()) { signr = 0; if (!signal_pending(current))