On Mon, 12 Feb 2007 09:44:33 +0100, "Franck Bui-Huu" <vagabon.xyz@xxxxxxxxx> wrote: > well maybe this one would be more readable: > > -- >8 -- > > diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S > index f10b6a1..b5d27d5 100644 > --- a/arch/mips/kernel/entry.S > +++ b/arch/mips/kernel/entry.S > @@ -21,23 +21,20 @@ > #endif > > #ifndef CONFIG_PREEMPT > - .macro preempt_stop > - local_irq_disable > - .endm > #define resume_kernel restore_all > +#else > +#define _ret_from_irq ret_from_exception > #endif _ret_from_irq is used by dec/int-handler.S directly, so you should not remove it (though decstation_defconfig disables CONFIG_PREEMPT). But looking at dec/int-handler.S again, I can not see why it uses _ret_from_irq, and why it manipulates TI_REGS($28) in handle_it ... It seems dec/int-handler.S has been broken for a while. I'll send a patch to fix it. If it was ACKed, I ACK your patch. --- Atsushi Nemoto