From: Hannes Reinecke Date: Thu, 6 Apr 2017 13:36:31 +0000 (+0200) Subject: scsi: always send command aborts X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1bcb93047e1b22b68cb8a30b48f999884fa827a8;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Hannes Reinecke Reviewed-by: Christoph Hellwig Signed-off-by: Martin K. Petersen --- 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);