summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@nuclecu.unam.mx>1997-08-26 04:34:55 +0000
committerMiguel de Icaza <miguel@nuclecu.unam.mx>1997-08-26 04:34:55 +0000
commit4fe20d6225d183f975cc26ff41e79613ce60b914 (patch)
treec78359ad250432f599d01d0ac3b3f49b6f1dcdfe
parentc399d60bf54f28c429413290e83d6c1e859c737d (diff)
irq_enter/irq_enter fix, as described by Ralf
-rw-r--r--arch/mips/sgi/kernel/indy_int.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c
index efc174795..2d23372ae 100644
--- a/arch/mips/sgi/kernel/indy_int.c
+++ b/arch/mips/sgi/kernel/indy_int.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
*
- * $Id: indy_int.c,v 1.2 1997/06/28 23:27:29 ralf Exp $
+ * $Id: indy_int.c,v 1.2 1997/07/01 09:00:58 ralf Exp $
*/
#include <linux/config.h>
@@ -277,8 +277,10 @@ atomic_t __mips_bh_counter;
asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
{
struct irqaction * action = *(irq + irq_action);
-
+ int cpu = smp_processor_id ();
+
lock_kernel();
+ irq_enter (cpu, irq);
kstat.interrupts[irq]++;
printk("Got irq %d, press a key.", irq);
prom_getchar();
@@ -289,6 +291,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
action->handler(irq, action->dev_id, regs);
action = action->next;
}
+ irq_exit (cpu, irq);
unlock_kernel();
}