diff options
author | Jaroslav Kysela <perex@hera.kernel.org> | 2005-06-21 07:39:41 -0700 |
---|---|---|
committer | Jaroslav Kysela <perex@hera.kernel.org> | 2005-06-21 07:39:41 -0700 |
commit | fae6ec69c84d71b1d5bda9ede1a262c1681684aa (patch) | |
tree | eb4aff9a5c2b7d04ce09a3717bb1dd4a79fe7595 /drivers/scsi/tmscsim.c | |
parent | bbc0274e9bb2e3f1d724d445a2bd32566b9b66f7 (diff) | |
parent | 1d345dac1f30af1cd9f3a1faa12f9f18f17f236e (diff) |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/scsi/tmscsim.c')
-rw-r--r-- | drivers/scsi/tmscsim.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c index ee9df02efd5..9589c67de53 100644 --- a/drivers/scsi/tmscsim.c +++ b/drivers/scsi/tmscsim.c @@ -2120,6 +2120,8 @@ static int DC390_bus_reset (struct scsi_cmnd *cmd) struct dc390_acb* pACB = (struct dc390_acb*) cmd->device->host->hostdata; u8 bval; + spin_lock_irq(cmd->device->host->host_lock); + bval = DC390_read8(CtrlReg1) | DIS_INT_ON_SCSI_RST; DC390_write8(CtrlReg1, bval); /* disable IRQ on bus reset */ @@ -2127,7 +2129,7 @@ static int DC390_bus_reset (struct scsi_cmnd *cmd) dc390_ResetSCSIBus(pACB); dc390_ResetDevParam(pACB); - udelay(1000); + mdelay(1); pACB->pScsiHost->last_reset = jiffies + 3*HZ/2 + HZ * dc390_eepromBuf[pACB->AdapterIndex][EE_DELAY]; @@ -2142,6 +2144,8 @@ static int DC390_bus_reset (struct scsi_cmnd *cmd) bval = DC390_read8(CtrlReg1) & ~DIS_INT_ON_SCSI_RST; DC390_write8(CtrlReg1, bval); /* re-enable interrupt */ + spin_unlock_irq(cmd->device->host->host_lock); + return SUCCESS; } |