Index: linux/arch/i386/kernel/irq.h diff -u linux/arch/i386/kernel/irq.h:1.1.1.6 linux/arch/i386/kernel/irq.h:1.1.1.6.4.1 --- linux/arch/i386/kernel/irq.h:1.1.1.6 Wed May 12 13:30:47 1999 +++ linux/arch/i386/kernel/irq.h Tue Jul 6 16:30:07 1999 @@ -214,8 +215,8 @@ "\n" __ALIGN_STR"\n" \ "common_interrupt:\n\t" \ SAVE_ALL \ - "pushl $ret_from_intr\n\t" \ - "jmp "SYMBOL_NAME_STR(do_IRQ)); + "call "SYMBOL_NAME_STR(do_IRQ)"\n\t" \ + "jmp ret_from_intr\n"); /* * subtle. orig_eax is used by the signal code to distinct between