diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-05-16 16:50:37 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-05-16 16:50:37 -0400 |
commit | 55d3ecab2d16be3525ba24a96ba3a67692af1f09 (patch) | |
tree | 7e81977adbd73e154f53861d8577d3ab92611c8c /arch/sh64/kernel/irq.c | |
parent | 6684e323a236d40461f27d36b38c6b70aabc9e71 (diff) | |
parent | 7b104bcb8e460e45a1aebe3da9b86aacdb4cab12 (diff) | |
download | kernel-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.c | 4 |
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; } |