]> git.baikalelectronics.ru Git - kernel.git/commitdiff
scsi: qla2xxx: edif: Fix no login after app start
authorQuinn Tran <qutran@marvell.com>
Wed, 8 Jun 2022 11:58:43 +0000 (04:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:42 +0000 (14:23 +0200)
[ Upstream commit 59720fe130242bf4d6295a0547d8fbc2799fd022 ]

The scenario is this: User loaded driver but has not started authentication
app. All sessions to secure device will exhaust all login attempts, fail,
and in stay in deleted state. Then some time later the app is started. The
driver will replenish the login retry count, trigger delete to prepare for
secure login. After deletion, relogin is triggered.

For the session that is already deleted, the delete trigger is a no-op. If
none of the sessions trigger a relogin, no progress is made.

Add a relogin trigger.

Link: https://lore.kernel.org/r/20220608115849.16693-5-njavali@marvell.com
Fixes: 397c4e69bdb0 ("scsi: qla2xxx: edif: Add start + stop bsgs")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
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_edif.c

index f7953ce17678e92b4ed31f4fa1a93d74e9097e57..c0971888a0a137b97d96000699d10afac3ec4155 100644 (file)
@@ -544,6 +544,7 @@ qla_edif_app_start(scsi_qla_host_t *vha, struct bsg_job *bsg_job)
                        qlt_schedule_sess_for_deletion(fcport);
                        qla_edif_sa_ctl_init(vha, fcport);
                }
+               set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
        }
 
        if (vha->pur_cinfo.enode_flags != ENODE_ACTIVE) {