diff options
Diffstat (limited to 'drivers/scsi/scsi_error.c')
| -rw-r--r-- | drivers/scsi/scsi_error.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index a8b610eaa0ca..106a6adbd6f1 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -1128,7 +1128,6 @@ static int scsi_eh_action(struct scsi_cmnd *scmd, int rtn)   */  void scsi_eh_finish_cmd(struct scsi_cmnd *scmd, struct list_head *done_q)  { -	scmd->device->host->host_failed--;  	scmd->eh_eflags = 0;  	list_move_tail(&scmd->eh_entry, done_q);  } @@ -2227,6 +2226,9 @@ int scsi_error_handler(void *data)  		else  			scsi_unjam_host(shost); +		/* All scmds have been handled */ +		shost->host_failed = 0; +  		/*  		 * Note - if the above fails completely, the action is to take  		 * individual devices offline and flush the queue of any  |