scsi: qla2xxx: edif: Fix n2n login retry for secure device
authorQuinn Tran <qutran@marvell.com>
Tue, 7 Jun 2022 04:46:26 +0000 (21:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:39 +0000 (14:23 +0200)
[ Upstream commit aec55325ddec975216119da000092cb8664a3399 ]

After initiator has burned up all login retries, target authentication
application begins to run. This triggers a link bounce on target side.
Initiator will attempt another login. Due to N2N, the PRLI [nvme | fcp] can
fail because of the mode mismatch with target. This patch add a few more
login retries to revive the connection.

Link: https://lore.kernel.org/r/20220607044627.19563-11-njavali@marvell.com
Fixes: 4de067e5df12 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_init.c

index 2bed5050bcafd09d21909f52553f36e2492a8d94..49cfe8c9f3bb215b1bede5f73db4cbf41740ccff 100644 (file)
@@ -2125,6 +2125,13 @@ qla24xx_handle_prli_done_event(struct scsi_qla_host *vha, struct event_arg *ea)
                }
 
                if (N2N_TOPO(vha->hw)) {
+                       if (ea->fcport->n2n_link_reset_cnt ==
+                           vha->hw->login_retry_count &&
+                           ea->fcport->flags & FCF_FCSP_DEVICE) {
+                               /* remote authentication app just started */
+                               ea->fcport->n2n_link_reset_cnt = 0;
+                       }
+
                        if (ea->fcport->n2n_link_reset_cnt <
                            vha->hw->login_retry_count) {
                                ea->fcport->n2n_link_reset_cnt++;