scsi: core: Modify the scsi_send_eh_cmnd() return value for the SDEV_BLOCK case
authorBart Van Assche <bvanassche@acm.org>
Thu, 15 Apr 2021 22:08:10 +0000 (15:08 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 16 Apr 2021 02:44:40 +0000 (22:44 -0400)
The comment above scsi_send_eh_cmnd() says: "Returns SUCCESS or FAILED or
NEEDS_RETRY". This patch makes all values returned by scsi_send_eh_cmnd()
match the documentation of this function. This change does not affect the
behavior of scsi_eh_tur() nor of scsi_eh_try_stu() nor of the
scsi_request_sense() callers.

See also commit bbe9fb0d04b9 ("scsi: Avoid that .queuecommand() gets called
for a blocked SCSI device"; v5.3).

Link: https://lore.kernel.org/r/20210415220826.29438-5-bvanassche@acm.org
Cc: Christoph Hellwig <hch@lst.de>
Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_error.c

index 08c06c56331c82cf9358591fae9ea85d51b6a446..271718e888d1afac5806fa0857f2e8988e07d783 100644 (file)
@@ -1109,7 +1109,7 @@ retry:
        if (sdev->sdev_state != SDEV_BLOCK)
                rtn = shost->hostt->queuecommand(shost, scmd);
        else
-               rtn = SCSI_MLQUEUE_DEVICE_BUSY;
+               rtn = FAILED;
        mutex_unlock(&sdev->state_mutex);
 
        if (rtn) {