diff options
author | Jes Sorensen <jes@sgi.com> | 2006-09-25 05:44:57 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-09-26 09:23:15 -0700 |
commit | 15d1f53fc7654d62af7e9b23049ae3b71f5b161c (patch) | |
tree | a5b1b2a3082e0893a9f7a2291c144f942d5bdcab /drivers/scsi/qla1280.c | |
parent | bc54ec6b0782979a440603beeed349b2eac39a59 (diff) | |
download | linux-15d1f53fc7654d62af7e9b23049ae3b71f5b161c.tar.gz linux-15d1f53fc7654d62af7e9b23049ae3b71f5b161c.tar.bz2 linux-15d1f53fc7654d62af7e9b23049ae3b71f5b161c.zip |
[SCSI] qla1280 command timeout
Original patch from Ian Dall in bugzilla. Set command timeout as
specified by the SCSI layer rather than hardcode it to 30 seconds. I
have received a couple of reports of people hitting this one with
various tape configurations and the patch looks obviously correct.
- Jes
From http://bugzilla.kernel.org/show_bug.cgi?id=6275
ian@beware.dropbear.id.au (Ian Dall):
The command sent to the card was using a 30second timeout regardless of the
timeout requested in the scsi command passed down from higher levels.
Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla1280.c')
-rw-r--r-- | drivers/scsi/qla1280.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index 8953991462d7..2747c8e02f83 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c @@ -2862,7 +2862,7 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp) memset(((char *)pkt + 8), 0, (REQUEST_ENTRY_SIZE - 8)); /* Set ISP command timeout. */ - pkt->timeout = cpu_to_le16(30); + pkt->timeout = cpu_to_le16(cmd->timeout_per_command/HZ); /* Set device target ID and LUN */ pkt->lun = SCSI_LUN_32(cmd); @@ -3161,7 +3161,7 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp) memset(((char *)pkt + 8), 0, (REQUEST_ENTRY_SIZE - 8)); /* Set ISP command timeout. */ - pkt->timeout = cpu_to_le16(30); + pkt->timeout = cpu_to_le16(cmd->timeout_per_command/HZ); /* Set device target ID and LUN */ pkt->lun = SCSI_LUN_32(cmd); |