diff options
Diffstat (limited to 'drivers/scsi/NCR53c406a.c')
-rw-r--r-- | drivers/scsi/NCR53c406a.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c index 7c025b6cdd7..b2002ba6e2a 100644 --- a/drivers/scsi/NCR53c406a.c +++ b/drivers/scsi/NCR53c406a.c @@ -725,6 +725,9 @@ static int NCR53c406a_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) { DEB(printk("NCR53c406a_reset called\n")); + + spin_lock_irq(SCpnt->device->host->host_lock); + outb(C4_IMG, CONFIG4); /* Select reg set 0 */ outb(CHIP_RESET, CMD_REG); outb(SCSI_NOP, CMD_REG); /* required after reset */ @@ -732,6 +735,9 @@ static int NCR53c406a_host_reset(Scsi_Cmnd * SCpnt) chip_init(); rtrc(2); + + spin_unlock_irq(SCpnt->device->host->host_lock); + return SUCCESS; } |