aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi/sym53c416.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/sym53c416.c')
-rw-r--r--drivers/scsi/sym53c416.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/sym53c416.c b/drivers/scsi/sym53c416.c
index ca9a04cf4d3..ef19adc67ef 100644
--- a/drivers/scsi/sym53c416.c
+++ b/drivers/scsi/sym53c416.c
@@ -790,6 +790,9 @@ static int sym53c416_host_reset(Scsi_Cmnd *SCpnt)
int base;
int scsi_id = -1;
int i;
+ unsigned long flags;
+
+ spin_lock_irqsave(&sym53c416_lock, flags);
/* printk("sym53c416_reset\n"); */
base = SCpnt->device->host->io_port;
@@ -801,6 +804,8 @@ static int sym53c416_host_reset(Scsi_Cmnd *SCpnt)
outb(NOOP | PIO_MODE, base + COMMAND_REG);
outb(RESET_SCSI_BUS, base + COMMAND_REG);
sym53c416_init(base, scsi_id);
+
+ spin_unlock_irqrestore(&sym53c416_lock, flags);
return SUCCESS;
}