patch-2.1.96 linux/drivers/scsi/NCR53c406a.c
Next file: linux/drivers/scsi/README.aic7xxx
Previous file: linux/drivers/scsi/NCR5380.h
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
Sat Apr 11 11:13:25 1998
- Orig file:
v2.1.95/linux/drivers/scsi/NCR53c406a.c
- Orig date:
Wed Apr 1 20:11:52 1998
diff -u --recursive --new-file v2.1.95/linux/drivers/scsi/NCR53c406a.c linux/drivers/scsi/NCR53c406a.c
@@ -52,6 +52,7 @@
#include <asm/irq.h>
#include <linux/blk.h>
+#include <asm/spinlock.h>
#include "scsi.h"
#include "hosts.h"
#include "sd.h"
@@ -171,6 +172,7 @@
/* Static function prototypes */
static void NCR53c406a_intr(int, void *, struct pt_regs *);
+static void do_NCR53c406a_intr(int, void *, struct pt_regs *);
static void internal_done(Scsi_Cmnd *);
static void wait_intr(void);
static void chip_init(void);
@@ -539,7 +541,7 @@
request_region(port_base, 0x10, "NCR53c406a");
if(irq_level > 0) {
- if(request_irq(irq_level, NCR53c406a_intr, 0, "NCR53c406a", NULL)){
+ if(request_irq(irq_level, do_NCR53c406a_intr, 0, "NCR53c406a", NULL)){
printk("NCR53c406a: unable to allocate IRQ %d\n", irq_level);
return 0;
}
@@ -764,6 +766,15 @@
return 0;
}
+ static void
+do_NCR53c406a_intr(int unused, void *dev_id, struct pt_regs *regs){
+ unsigned long flags;
+
+ spin_lock_irqsave(&io_request_lock, flags);
+ NCR53c406a_intr(0, dev_id, regs);
+ spin_unlock_irqrestore(&io_request_lock, flags);
+}
+
static void
NCR53c406a_intr(int unused, void *dev_id, struct pt_regs *regs){
DEB(unsigned char fifo_size;)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov