diff options
author | Hannes Reinecke <hare@suse.de> | 2017-04-06 15:36:31 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-04-06 13:07:32 -0400 |
commit | 1bcb93047e1b22b68cb8a30b48f999884fa827a8 (patch) | |
tree | 4fd908a2b8e6af1f50dea8ca4f246e65b41be480 /drivers | |
parent | e8f8d50e07b0bd92f758a4f6d9ab0abf33f52881 (diff) | |
download | linux-1bcb93047e1b22b68cb8a30b48f999884fa827a8.tar.gz linux-1bcb93047e1b22b68cb8a30b48f999884fa827a8.tar.bz2 linux-1bcb93047e1b22b68cb8a30b48f999884fa827a8.zip |
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')
-rw-r--r-- | drivers/scsi/scsi_error.c | 12 |
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); |