patch-2.1.96 linux/drivers/scsi/eata_dma.c
Next file: linux/drivers/scsi/eata_pio.c
Previous file: linux/drivers/scsi/eata.c
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
Sat Apr 11 11:13:25 1998
- Orig file:
v2.1.95/linux/drivers/scsi/eata_dma.c
- Orig date:
Mon Apr 6 17:41:00 1998
diff -u --recursive --new-file v2.1.95/linux/drivers/scsi/eata_dma.c linux/drivers/scsi/eata_dma.c
@@ -81,6 +81,7 @@
#include <asm/pgtable.h>
#ifdef __mips__
#include <asm/cachectl.h>
+#include <asm/spinlock.h>
#endif
#include <linux/blk.h>
#include "scsi.h"
@@ -240,6 +241,16 @@
}
}
+void eata_int_handler(int, void *, struct pt_regs *);
+
+void do_eata_int_handler(int irq, void *dev_id, struct pt_regs * regs)
+{
+ unsigned long flags;
+
+ spin_lock_irqsave(&io_request_lock, flags);
+ eata_int_handler(irq, dev_id, regs);
+ spin_unlock_irqrestore(&io_request_lock, flags);
+}
void eata_int_handler(int irq, void *dev_id, struct pt_regs * regs)
{
@@ -1535,7 +1546,7 @@
for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */
if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */
free_irq(i, NULL); /* we used for probing with the real one */
- request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ,
+ request_irq(i, (void *)(do_eata_int_handler), SA_INTERRUPT|SA_SHIRQ,
"eata_dma", NULL);
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov