]> git.itanic.dy.fi Git - linux-stable/commit
scsi: lpfc: Return DID_TRANSPORT_DISRUPTED instead of DID_REQUEUE
authorHannes Reinecke <hare@suse.de>
Wed, 24 Aug 2022 06:00:33 +0000 (08:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Sep 2022 12:15:50 +0000 (14:15 +0200)
commit87cd4c02bdb174a5f47252fe3363aa53853b9561
treef1c298bae51defe64c3e13c882750646dfd8a628
parentf08a320b4b6048e018c7f847c9cbea60644fee83
scsi: lpfc: Return DID_TRANSPORT_DISRUPTED instead of DID_REQUEUE

[ Upstream commit c0a50cd389c3ed54831e240023dd12bafa56b3a6 ]

When the driver hits an internal error condition returning DID_REQUEUE the
I/O will be retried on the same ITL nexus.  This will inhibit multipathing,
resulting in endless retries even if the error could have been resolved by
using a different ITL nexus.  Return DID_TRANSPORT_DISRUPTED to allow for
multipath to engage and route I/O to another ITL nexus.

Link: https://lore.kernel.org/r/20220824060033.138661-1-hare@suse.de
Reviewed-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/lpfc/lpfc_scsi.c