linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / i386 / kernel / irq.c
index 2904a66..f3a9c78 100644 (file)
@@ -53,8 +53,8 @@ static union irq_ctx *softirq_ctx[NR_CPUS];
  */
 fastcall unsigned int do_IRQ(struct pt_regs *regs)
 {      
-       /* high bit used in ret_from_ code */
-       int irq = ~regs->orig_eax;
+       /* high bits used in ret_from_ code */
+       int irq = regs->orig_eax & 0xff;
 #ifdef CONFIG_4KSTACKS
        union irq_ctx *curctx, *irqctx;
        u32 *isp;