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 12:23:15 -0400 |
commit | 15d1f53fc7654d62af7e9b23049ae3b71f5b161c (patch) | |
tree | a5b1b2a3082e0893a9f7a2291c144f942d5bdcab /drivers/scsi/qla1280.c | |
parent | bc54ec6b0782979a440603beeed349b2eac39a59 (diff) |
[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) | |||
2862 | memset(((char *)pkt + 8), 0, (REQUEST_ENTRY_SIZE - 8)); | 2862 | memset(((char *)pkt + 8), 0, (REQUEST_ENTRY_SIZE - 8)); |
2863 | 2863 | ||
2864 | /* Set ISP command timeout. */ | 2864 | /* Set ISP command timeout. */ |
2865 | pkt->timeout = cpu_to_le16(30); | 2865 | pkt->timeout = cpu_to_le16(cmd->timeout_per_command/HZ); |
2866 | 2866 | ||
2867 | /* Set device target ID and LUN */ | 2867 | /* Set device target ID and LUN */ |
2868 | pkt->lun = SCSI_LUN_32(cmd); | 2868 | pkt->lun = SCSI_LUN_32(cmd); |
@@ -3161,7 +3161,7 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp) | |||
3161 | memset(((char *)pkt + 8), 0, (REQUEST_ENTRY_SIZE - 8)); | 3161 | memset(((char *)pkt + 8), 0, (REQUEST_ENTRY_SIZE - 8)); |
3162 | 3162 | ||
3163 | /* Set ISP command timeout. */ | 3163 | /* Set ISP command timeout. */ |
3164 | pkt->timeout = cpu_to_le16(30); | 3164 | pkt->timeout = cpu_to_le16(cmd->timeout_per_command/HZ); |
3165 | 3165 | ||
3166 | /* Set device target ID and LUN */ | 3166 | /* Set device target ID and LUN */ |
3167 | pkt->lun = SCSI_LUN_32(cmd); | 3167 | pkt->lun = SCSI_LUN_32(cmd); |