patch-2.3.49 linux/arch/alpha/kernel/sys_eiger.c
Next file: linux/arch/alpha/kernel/sys_jensen.c
Previous file: linux/arch/alpha/kernel/sys_eb64p.c
Back to the patch index
Back to the overall index
- Lines: 35
- Date:
Mon Feb 28 14:54:30 2000
- Orig file:
v2.3.48/linux/arch/alpha/kernel/sys_eiger.c
- Orig date:
Sun Feb 20 21:12:38 2000
diff -u --recursive --new-file v2.3.48/linux/arch/alpha/kernel/sys_eiger.c linux/arch/alpha/kernel/sys_eiger.c
@@ -76,6 +76,13 @@
return 0; /* never anything pending */
}
+static void
+eiger_end_irq(unsigned int irq)
+{
+ if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
+ eiger_enable_irq(irq);
+}
+
static struct hw_interrupt_type eiger_irq_type = {
typename: "EIGER",
startup: eiger_startup_irq,
@@ -83,7 +90,7 @@
enable: eiger_enable_irq,
disable: eiger_disable_irq,
ack: eiger_disable_irq,
- end: eiger_enable_irq,
+ end: eiger_end_irq,
};
static void
@@ -147,10 +154,9 @@
eiger_update_irq_hw(i, -1);
init_i8259a_irqs();
- init_rtc_irq();
for (i = 16; i < 128; ++i) {
- irq_desc[i].status = IRQ_DISABLED;
+ irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
irq_desc[i].handler = &eiger_irq_type;
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)