summaryrefslogtreecommitdiff
path: root/drivers/scsi/scsi_error.c
diff options
context:
space:
mode:
authorChunguang Xu <brookxu@tencent.com>2021-11-10 04:23:32 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2021-11-19 06:26:58 +0300
commitadcc796b4f55c18ee5fca8190a592c84cf8682e0 (patch)
treec73e05b34e43a44119ec034102b89c371b6646ca /drivers/scsi/scsi_error.c
parent0a84486d6c1da1c2738544d8fc1b07b1d3ce046f (diff)
downloadlinux-adcc796b4f55c18ee5fca8190a592c84cf8682e0.tar.xz
scsi: core: Use eh_timeout for START STOP UNIT
In some scenarios START STOP UNIT may time out. The default recovery time of 30 seconds is relatively large. Modifying rq_timeout to adjust the START STOP UNIT timeout value will affect the regular I/O. Commit 9728c0814ecb ("[SCSI] make scsi_eh_try_stu use block timeout") switched to rq_timeout for the START STOP UNIT command. However commit 0816c9251a71 ("[SCSI] Allow error handling timeout to be specified") introduced an explicit eh_timeout parameter. It makes more sense to use this value as the timeout for START STOP UNIT. Link: https://lore.kernel.org/r/1636507412-21678-1-git-send-email-brookxu.cn@gmail.com Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Wu Bo <wubo40@huawei.com> Signed-off-by: Chunguang Xu <brookxu@tencent.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r--drivers/scsi/scsi_error.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 2db518f118bd..9cb0f9df621a 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -1430,7 +1430,8 @@ static int scsi_eh_try_stu(struct scsi_cmnd *scmd)
enum scsi_disposition rtn = NEEDS_RETRY;
for (i = 0; rtn == NEEDS_RETRY && i < 2; i++)
- rtn = scsi_send_eh_cmnd(scmd, stu_command, 6, scmd->device->request_queue->rq_timeout, 0);
+ rtn = scsi_send_eh_cmnd(scmd, stu_command, 6,
+ scmd->device->eh_timeout, 0);
if (rtn == SUCCESS)
return 0;