[S390] irq change improvements.
[linux-2.6.git] / arch / s390 / kernel / s390_ext.c
index c49ab8c..4faf96f 100644 (file)
@@ -117,8 +117,8 @@ void do_extint(struct pt_regs *regs, unsigned short code)
         int index;
        struct pt_regs *old_regs;
 
-       irq_enter();
        old_regs = set_irq_regs(regs);
+       irq_enter();
        asm volatile ("mc 0,0");
        if (S390_lowcore.int_clock >= S390_lowcore.jiffy_timer)
                /**
@@ -134,8 +134,8 @@ void do_extint(struct pt_regs *regs, unsigned short code)
                                p->handler(code);
                }
        }
-       set_irq_regs(old_regs);
        irq_exit();
+       set_irq_regs(old_regs);
 }
 
 EXPORT_SYMBOL(register_external_interrupt);