diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-04-29 21:13:14 +0000 |
---|---|---|
committer | <ralf@linux-mips.org> | 1997-04-29 21:13:14 +0000 |
commit | 19c9bba94152148523ba0f7ef7cffe3d45656b11 (patch) | |
tree | 40b1cb534496a7f1ca0f5c314a523c69f1fee464 /arch/mips/sgi/kernel/indy_int.c | |
parent | 7206675c40394c78a90e74812bbdbf8cf3cca1be (diff) |
Import of Linux/MIPS 2.1.36
Diffstat (limited to 'arch/mips/sgi/kernel/indy_int.c')
-rw-r--r-- | arch/mips/sgi/kernel/indy_int.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c index 45600d2de..19b744fdb 100644 --- a/arch/mips/sgi/kernel/indy_int.c +++ b/arch/mips/sgi/kernel/indy_int.c @@ -25,7 +25,6 @@ #include <asm/system.h> #include <asm/vector.h> -#include <asm/segment.h> #include <asm/ptrace.h> #include <asm/processor.h> #include <asm/sgi.h> @@ -172,6 +171,10 @@ void enable_irq(unsigned int irq_nr) } } +#if 0 +/* + * Currently unused. + */ static void local_unex(int irq, void *data, struct pt_regs *regs) { printk("Whee: unexpected local IRQ at %08lx\n", @@ -180,6 +183,7 @@ static void local_unex(int irq, void *data, struct pt_regs *regs) ioc_icontrol->istat0, ioc_icontrol->istat1, ioc_icontrol->vmeistat); } +#endif static struct irqaction *local_irq_action[24] = { NULL, NULL, NULL, NULL, @@ -260,6 +264,7 @@ int get_irq_list(char *buf) */ asmlinkage void do_IRQ(int irq, struct pt_regs * regs) { + lock_kernel(); struct irqaction * action = *(irq + irq_action); kstat.interrupts[irq]++; printk("Got irq %d, press a key.", irq); @@ -271,6 +276,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs) action->handler(irq, action->dev_id, regs); action = action->next; } + unlock_kernel(); } /* @@ -282,6 +288,7 @@ asmlinkage void do_fast_IRQ(int irq) { struct irqaction * action = *(irq + irq_action); + lock_kernel(); printk("Got irq %d, press a key.", irq); prom_getchar(); romvec->imode(); @@ -292,6 +299,7 @@ asmlinkage void do_fast_IRQ(int irq) action->handler(irq, action->dev_id, NULL); action = action->next; } + unlock_kernel(); } int request_local_irq(unsigned int lirq, void (*func)(int, void *, struct pt_regs *), |