summaryrefslogtreecommitdiffstats
path: root/arch/sh64/kernel/irq.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-05-16 16:50:37 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-05-16 16:50:37 -0400
commit55d3ecab2d16be3525ba24a96ba3a67692af1f09 (patch)
tree7e81977adbd73e154f53861d8577d3ab92611c8c /arch/sh64/kernel/irq.c
parent6684e323a236d40461f27d36b38c6b70aabc9e71 (diff)
parent7b104bcb8e460e45a1aebe3da9b86aacdb4cab12 (diff)
downloadkernel-crypto-55d3ecab2d16be3525ba24a96ba3a67692af1f09.tar.gz
kernel-crypto-55d3ecab2d16be3525ba24a96ba3a67692af1f09.tar.xz
kernel-crypto-55d3ecab2d16be3525ba24a96ba3a67692af1f09.zip
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Diffstat (limited to 'arch/sh64/kernel/irq.c')
-rw-r--r--arch/sh64/kernel/irq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/sh64/kernel/irq.c b/arch/sh64/kernel/irq.c
index f68b4f6c9b3..9412b716670 100644
--- a/arch/sh64/kernel/irq.c
+++ b/arch/sh64/kernel/irq.c
@@ -94,6 +94,7 @@ asmlinkage void do_NMI(unsigned long vector_num, struct pt_regs * regs)
*/
asmlinkage int do_IRQ(unsigned long vector_num, struct pt_regs * regs)
{
+ struct pt_regs *old_regs = set_irq_regs(regs);
int irq;
irq_enter();
@@ -101,13 +102,14 @@ asmlinkage int do_IRQ(unsigned long vector_num, struct pt_regs * regs)
irq = irq_demux(vector_num);
if (irq >= 0) {
- __do_IRQ(irq, regs);
+ __do_IRQ(irq);
} else {
printk("unexpected IRQ trap at vector %03lx\n", vector_num);
}
irq_exit();
+ set_irq_regs(old_regs);
return 1;
}