aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r--drivers/scsi/scsi_error.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 5cc97b721661..9cf020622134 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -29,6 +29,7 @@
29#include <scsi/scsi_dbg.h> 29#include <scsi/scsi_dbg.h>
30#include <scsi/scsi_device.h> 30#include <scsi/scsi_device.h>
31#include <scsi/scsi_eh.h> 31#include <scsi/scsi_eh.h>
32#include <scsi/scsi_transport.h>
32#include <scsi/scsi_host.h> 33#include <scsi/scsi_host.h>
33#include <scsi/scsi_ioctl.h> 34#include <scsi/scsi_ioctl.h>
34#include <scsi/scsi_request.h> 35#include <scsi/scsi_request.h>
@@ -163,16 +164,12 @@ void scsi_times_out(struct scsi_cmnd *scmd)
163{ 164{
164 scsi_log_completion(scmd, TIMEOUT_ERROR); 165 scsi_log_completion(scmd, TIMEOUT_ERROR);
165 166
166 if (scmd->device->host->hostt->eh_timed_out) 167 if (scmd->device->host->transportt->eh_timed_out)
167 switch (scmd->device->host->hostt->eh_timed_out(scmd)) { 168 switch (scmd->device->host->transportt->eh_timed_out(scmd)) {
168 case EH_HANDLED: 169 case EH_HANDLED:
169 __scsi_done(scmd); 170 __scsi_done(scmd);
170 return; 171 return;
171 case EH_RESET_TIMER: 172 case EH_RESET_TIMER:
172 /* This allows a single retry even of a command
173 * with allowed == 0 */
174 if (scmd->retries++ > scmd->allowed)
175 break;
176 scsi_add_timer(scmd, scmd->timeout_per_command, 173 scsi_add_timer(scmd, scmd->timeout_per_command,
177 scsi_times_out); 174 scsi_times_out);
178 return; 175 return;