diff options
Diffstat (limited to 'arch/arm/kernel/irq.c')
| -rw-r--r-- | arch/arm/kernel/irq.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index e999b11de2c..2c4ff1cbe33 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -111,6 +111,7 @@ static struct irq_desc bad_irq_desc = {   */  asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	struct irqdesc *desc = irq_desc + irq;  	/* @@ -122,13 +123,13 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)  	irq_enter(); -	set_irq_regs(regs);  	desc_handle_irq(irq, desc);  	/* AT91 specific workaround */  	irq_finish(irq);  	irq_exit(); +	set_irq_regs(old_regs);  }  void set_irq_flags(unsigned int irq, unsigned int iflags)  |