]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
scsi: qla2xxx: Fix update_fcport for current_topology
authorHimanshu Madhani <hmadhani@marvell.com>
Tue, 17 Dec 2019 22:06:08 +0000 (14:06 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Oct 2023 19:46:38 +0000 (21:46 +0200)
[ Upstream commit 89eb2e7e794da2691e5aca02ed102bb287e3575a ]

logout_on_delete flag should not be set if the topology is Loop. This patch
fixes unintentional logout during loop topology.

Link: https://lore.kernel.org/r/20191217220617.28084-6-hmadhani@marvell.com
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Stable-dep-of: 6dfe4344c168 ("scsi: qla2xxx: Fix deletion race condition")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_init.c

index f6d5d77ea45bb7ce58173c4255766fe9fe36a197..28ba87cd227a2a500ee823d88a6ac58c03056d78 100644 (file)
@@ -5485,7 +5485,10 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
        fcport->login_retry = vha->hw->login_retry_count;
        fcport->flags &= ~(FCF_LOGIN_NEEDED | FCF_ASYNC_SENT);
        fcport->deleted = 0;
-       fcport->logout_on_delete = 1;
+       if (vha->hw->current_topology == ISP_CFG_NL)
+               fcport->logout_on_delete = 0;
+       else
+               fcport->logout_on_delete = 1;
        fcport->n2n_chip_reset = fcport->n2n_link_reset_cnt = 0;
 
        switch (vha->hw->current_topology) {