diff options
author | Brian King <brking@linux.vnet.ibm.com> | 2007-04-19 14:59:59 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-05-06 10:33:12 -0400 |
commit | e555db930f7512491485cfc43df4306192835373 (patch) | |
tree | e1048808198385236bad31e778528725d53178c3 /drivers/scsi/scsi_error.c | |
parent | 2a4aa2c4b206c77b7cf522300ae9b616b0a883a4 (diff) |
[SCSI] use sysfs configured timeout for EH Start Unit timeout
Use the sysfs configurable timeout when issuing a START_UNIT
command from the scsi error handler. This is needed for devices which
take longer than thirty seconds to respond to the start
unit. The problem was observed when sending a start unit
to a disk array device in an ipr RAID adapter, which results
in the adapter firmware sending potentially multiple commands
to physical devices as a result of this command, which ended
up timing out sometimes. This patch does not change the default
value used for this command.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r-- | drivers/scsi/scsi_error.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index 3963e7013bd9..e8350c562d24 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include "scsi_logging.h" | 38 | #include "scsi_logging.h" |
39 | 39 | ||
40 | #define SENSE_TIMEOUT (10*HZ) | 40 | #define SENSE_TIMEOUT (10*HZ) |
41 | #define START_UNIT_TIMEOUT (30*HZ) | ||
42 | 41 | ||
43 | /* | 42 | /* |
44 | * These should *probably* be handled by the host itself. | 43 | * These should *probably* be handled by the host itself. |
@@ -936,7 +935,7 @@ static int scsi_eh_try_stu(struct scsi_cmnd *scmd) | |||
936 | 935 | ||
937 | for (i = 0; rtn == NEEDS_RETRY && i < 2; i++) | 936 | for (i = 0; rtn == NEEDS_RETRY && i < 2; i++) |
938 | rtn = scsi_send_eh_cmnd(scmd, stu_command, 6, | 937 | rtn = scsi_send_eh_cmnd(scmd, stu_command, 6, |
939 | START_UNIT_TIMEOUT, 0); | 938 | scmd->device->timeout, 0); |
940 | 939 | ||
941 | if (rtn == SUCCESS) | 940 | if (rtn == SUCCESS) |
942 | return 0; | 941 | return 0; |