diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-10-08 08:23:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-08 12:32:35 -0700 |
commit | 6d24c8dc2e656b02807aa0506405727d34c0376c (patch) | |
tree | ab5399601650d9dec7274bcc1ce22a7e490c1c61 /arch/sparc64/kernel/irq.c | |
parent | 0d84438d98777b0f9425d39121c42f47a06878ca (diff) | |
download | kernel_samsung_tuna-6d24c8dc2e656b02807aa0506405727d34c0376c.zip kernel_samsung_tuna-6d24c8dc2e656b02807aa0506405727d34c0376c.tar.gz kernel_samsung_tuna-6d24c8dc2e656b02807aa0506405727d34c0376c.tar.bz2 |
[PATCH] sparc64 pt_regs fixes
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/sparc64/kernel/irq.c')
-rw-r--r-- | arch/sparc64/kernel/irq.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c index 4e64724..ce05deb 100644 --- a/arch/sparc64/kernel/irq.c +++ b/arch/sparc64/kernel/irq.c @@ -547,9 +547,11 @@ void timer_irq(int irq, struct pt_regs *regs) void handler_irq(int irq, struct pt_regs *regs) { struct ino_bucket *bucket; + struct pt_regs *old_regs; clear_softint(1 << irq); + old_regs = set_irq_regs(regs); irq_enter(); /* Sliiiick... */ @@ -558,12 +560,13 @@ void handler_irq(int irq, struct pt_regs *regs) struct ino_bucket *next = __bucket(bucket->irq_chain); bucket->irq_chain = 0; - __do_IRQ(bucket->virt_irq, regs); + __do_IRQ(bucket->virt_irq); bucket = next; } irq_exit(); + set_irq_regs(old_regs); } struct sun5_timer { |