summaryrefslogtreecommitdiff
path: root/drivers/scsi/scsi_error.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2017-04-06 15:36:31 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2017-04-06 13:07:32 -0400
commit1bcb93047e1b22b68cb8a30b48f999884fa827a8 (patch)
tree4fd908a2b8e6af1f50dea8ca4f246e65b41be480 /drivers/scsi/scsi_error.c
parente8f8d50e07b0bd92f758a4f6d9ab0abf33f52881 (diff)
scsi: always send command aborts
When a command has timed out we always should be sending an abort; with the previous code a failed abort might signal SCSI EH to start, and all other timed out commands will never be aborted, even though they might belong to a different ITL nexus. Cc: Benjamin Block <bblock@linux.vnet.ibm.com> Signed-off-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Christoph Hellwig <hch@lst.de> 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.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 370f6c045b60..cff7d9de79f2 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -196,19 +196,7 @@ scsi_abort_command(struct scsi_cmnd *scmd)
return FAILED;
}
- /*
- * Do not try a command abort if
- * SCSI EH has already started.
- */
spin_lock_irqsave(shost->host_lock, flags);
- if (scsi_host_in_recovery(shost)) {
- spin_unlock_irqrestore(shost->host_lock, flags);
- SCSI_LOG_ERROR_RECOVERY(3,
- scmd_printk(KERN_INFO, scmd,
- "not aborting, host in recovery\n"));
- return FAILED;
- }
-
if (shost->eh_deadline != -1 && !shost->last_reset)
shost->last_reset = jiffies;
spin_unlock_irqrestore(shost->host_lock, flags);