patch-2.1.96 linux/drivers/scsi/eata_pio.c
Next file: linux/drivers/scsi/esp.c
Previous file: linux/drivers/scsi/eata_dma.c
Back to the patch index
Back to the overall index
- Lines: 45
- Date:
Sat Apr 11 11:13:25 1998
- Orig file:
v2.1.95/linux/drivers/scsi/eata_pio.c
- Orig date:
Mon Apr 6 17:41:00 1998
diff -u --recursive --new-file v2.1.95/linux/drivers/scsi/eata_pio.c linux/drivers/scsi/eata_pio.c
@@ -56,6 +56,8 @@
#include <linux/stat.h>
#include <linux/config.h> /* for CONFIG_PCI */
+#include <linux/blk.h>
+#include <asm/spinlock.h>
struct proc_dir_entry proc_scsi_eata_pio = {
PROC_SCSI_EATA_PIO, 9, "eata_pio",
@@ -109,6 +111,17 @@
}
}
+void eata_pio_int_handler(int irq, void *dev_id, struct pt_regs * regs);
+
+void do_eata_pio_int_handler(int irq, void *dev_id, struct pt_regs * regs)
+{
+ unsigned long flags;
+
+ spin_lock_irqsave(&io_request_lock, flags);
+ eata_pio_int_handler(irq, dev_id, regs);
+ spin_unlock_irqrestore(&io_request_lock, flags);
+}
+
void eata_pio_int_handler(int irq, void *dev_id, struct pt_regs * regs)
{
uint eata_stat = 0xfffff;
@@ -697,7 +710,7 @@
}
if (!reg_IRQ[gc->IRQ]) { /* Interrupt already registered ? */
- if (!request_irq(gc->IRQ, eata_pio_int_handler, SA_INTERRUPT,
+ if (!request_irq(gc->IRQ, do_eata_pio_int_handler, SA_INTERRUPT,
"EATA-PIO", NULL)){
reg_IRQ[gc->IRQ]++;
if (!gc->IRQ_TR)
@@ -983,7 +996,7 @@
for (i = 0; i <= MAXIRQ; i++)
if (reg_IRQ[i])
- request_irq(i, eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL);
+ request_irq(i, do_eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL);
HBA_ptr = first_HBA;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov