patch-2.1.96 linux/drivers/scsi/fdomain.c

Next file: linux/drivers/scsi/g_NCR5380.c
Previous file: linux/drivers/scsi/esp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.95/linux/drivers/scsi/fdomain.c linux/drivers/scsi/fdomain.c
@@ -264,6 +264,7 @@
 #include "hosts.h"
 #include "fdomain.h"
 #include <asm/system.h>
+#include <asm/spinlock.h>
 #include <linux/errno.h>
 #include <linux/string.h>
 #include <linux/ioport.h>
@@ -948,7 +949,7 @@
       /* Register the IRQ with the kernel */
 
       retcode = request_irq( interrupt_level,
-			     fdomain_16x0_intr, SA_INTERRUPT, "fdomain", NULL);
+			     do_fdomain_16x0_intr, SA_INTERRUPT, "fdomain", NULL);
 
       if (retcode < 0) {
 	 if (retcode == -EINVAL) {
@@ -1608,6 +1609,15 @@
    in_interrupt_flag = 0;
 #endif
    return;
+}
+
+void do_fdomain_16x0_intr( int irq, void *dev_id, struct pt_regs * regs )
+{
+   unsigned long flags;
+
+   spin_lock_irqsave(&io_request_lock, flags);
+   fdomain_16x0_intr(irq, dev_id, regs);
+   spin_unlock_irqrestore(&io_request_lock, flags);
 }
 
 int fdomain_16x0_queue( Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *))

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov