summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_error.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-16 20:57:41 +0100
committerIngo Molnar <mingo@elte.hu>2008-12-16 20:57:41 +0100
commitdd7a5230cd651bfb119d222561c4032f30dd5659 (patch)
tree85628ef75d1f512f43df6f760980b6cce6cf40c7 /drivers/scsi/scsi_error.c
parent050dc6944b9ca2186f4729ab44e0da3743933941 (diff)
parent8b1fae4e4200388b64dd88065639413cb3f1051c (diff)
downloadlinux-dd7a5230cd651bfb119d222561c4032f30dd5659.tar.bz2
Merge commit 'v2.6.28-rc8' into x86/cpufeature
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r--drivers/scsi/scsi_error.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 94ed262bdf0c..edfaf241c5ba 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -932,8 +932,7 @@ static int scsi_eh_try_stu(struct scsi_cmnd *scmd)
int i, rtn = NEEDS_RETRY;
for (i = 0; rtn == NEEDS_RETRY && i < 2; i++)
- rtn = scsi_send_eh_cmnd(scmd, stu_command, 6,
- scmd->device->timeout, 0);
+ rtn = scsi_send_eh_cmnd(scmd, stu_command, 6, scmd->device->request_queue->rq_timeout, 0);
if (rtn == SUCCESS)
return 0;
@@ -1340,9 +1339,10 @@ int scsi_decide_disposition(struct scsi_cmnd *scmd)
* LLD/transport was disrupted during processing of the IO.
* The transport class is now blocked/blocking,
* and the transport will decide what to do with the IO
- * based on its timers and recovery capablilities.
+ * based on its timers and recovery capablilities if
+ * there are enough retries.
*/
- return ADD_TO_MLQUEUE;
+ goto maybe_retry;
case DID_TRANSPORT_FAILFAST:
/*
* The transport decided to failfast the IO (most likely