diff -urN 2.4.5ac4/include/asm-i386/hw_irq.h 2.4.5ac5/include/asm-i386/hw_irq.h
--- 2.4.5ac4/include/asm-i386/hw_irq.h	Tue May 29 18:26:59 2001
+++ 2.4.5ac5/include/asm-i386/hw_irq.h	Wed May 30 22:04:16 2001
@@ -158,9 +165,9 @@
 	"\n" __ALIGN_STR"\n" \
 	"common_interrupt:\n\t" \
 	SAVE_ALL \
-	"pushl $ret_from_intr\n\t" \
 	SYMBOL_NAME_STR(call_do_IRQ)":\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