|
Daniel Wagner |
419e72 |
From: Quinn Tran <qutran@marvell.com>
|
|
Daniel Wagner |
419e72 |
Date: Tue, 26 Oct 2021 04:54:03 -0700
|
|
Daniel Wagner |
419e72 |
Subject: scsi: qla2xxx: edif: Fix app start fail
|
|
Daniel Wagner |
419e72 |
Patch-mainline: v5.16-rc1
|
|
Daniel Wagner |
419e72 |
Git-commit: 8e6d5df3cb32dddf558a52414d29febecb660396
|
|
Daniel Wagner |
419e72 |
References: git-fixes
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
On app start, all sessions need to be reset to see if secure connection can
|
|
Daniel Wagner |
419e72 |
be made. Fix the broken check which prevents that process.
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
Link: https://lore.kernel.org/r/20211026115412.27691-5-njavali@marvell.com
|
|
Daniel Wagner |
419e72 |
Fixes: 4de067e5df12 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
|
|
Daniel Wagner |
419e72 |
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
|
|
Daniel Wagner |
419e72 |
Signed-off-by: Quinn Tran <qutran@marvell.com>
|
|
Daniel Wagner |
419e72 |
Signed-off-by: Nilesh Javali <njavali@marvell.com>
|
|
Daniel Wagner |
419e72 |
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
Daniel Wagner |
419e72 |
Acked-by: Daniel Wagner <dwagner@suse.de>
|
|
Daniel Wagner |
419e72 |
---
|
|
Daniel Wagner |
419e72 |
drivers/scsi/qla2xxx/qla_edif.c | 52 ++++++++++++++++++++--------------------
|
|
Daniel Wagner |
419e72 |
1 file changed, 26 insertions(+), 26 deletions(-)
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
--- a/drivers/scsi/qla2xxx/qla_edif.c
|
|
Daniel Wagner |
419e72 |
+++ b/drivers/scsi/qla2xxx/qla_edif.c
|
|
Daniel Wagner |
419e72 |
@@ -529,7 +529,8 @@ qla_edif_app_start(scsi_qla_host_t *vha,
|
|
Daniel Wagner |
419e72 |
struct app_start_reply appreply;
|
|
Daniel Wagner |
419e72 |
struct fc_port *fcport, *tf;
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
- ql_dbg(ql_dbg_edif, vha, 0x911d, "%s app start\n", __func__);
|
|
Daniel Wagner |
419e72 |
+ ql_log(ql_log_info, vha, 0x1313,
|
|
Daniel Wagner |
419e72 |
+ "EDIF application registration with driver, FC device connections will be re-established.\n");
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
sg_copy_to_buffer(bsg_job->request_payload.sg_list,
|
|
Daniel Wagner |
419e72 |
bsg_job->request_payload.sg_cnt, &appstart,
|
|
Daniel Wagner |
419e72 |
@@ -554,37 +555,36 @@ qla_edif_app_start(scsi_qla_host_t *vha,
|
|
Daniel Wagner |
419e72 |
qla2xxx_wake_dpc(vha);
|
|
Daniel Wagner |
419e72 |
} else {
|
|
Daniel Wagner |
419e72 |
list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) {
|
|
Daniel Wagner |
419e72 |
+ ql_dbg(ql_dbg_edif, vha, 0x2058,
|
|
Daniel Wagner |
419e72 |
+ "FCSP - nn %8phN pn %8phN portid=%06x.\n",
|
|
Daniel Wagner |
419e72 |
+ fcport->node_name, fcport->port_name,
|
|
Daniel Wagner |
419e72 |
+ fcport->d_id.b24);
|
|
Daniel Wagner |
419e72 |
ql_dbg(ql_dbg_edif, vha, 0xf084,
|
|
Daniel Wagner |
419e72 |
- "%s: sess %p %8phC lid %#04x s_id %06x logout %d\n",
|
|
Daniel Wagner |
419e72 |
- __func__, fcport, fcport->port_name,
|
|
Daniel Wagner |
419e72 |
- fcport->loop_id, fcport->d_id.b24,
|
|
Daniel Wagner |
419e72 |
- fcport->logout_on_delete);
|
|
Daniel Wagner |
419e72 |
-
|
|
Daniel Wagner |
419e72 |
- ql_dbg(ql_dbg_edif, vha, 0xf084,
|
|
Daniel Wagner |
419e72 |
- "keep %d els_logo %d disc state %d auth state %d stop state %d\n",
|
|
Daniel Wagner |
419e72 |
- fcport->keep_nport_handle,
|
|
Daniel Wagner |
419e72 |
- fcport->send_els_logo, fcport->disc_state,
|
|
Daniel Wagner |
419e72 |
- fcport->edif.auth_state, fcport->edif.app_stop);
|
|
Daniel Wagner |
419e72 |
+ "%s: se_sess %p / sess %p from port %8phC "
|
|
Daniel Wagner |
419e72 |
+ "loop_id %#04x s_id %06x logout %d "
|
|
Daniel Wagner |
419e72 |
+ "keep %d els_logo %d disc state %d auth state %d"
|
|
Daniel Wagner |
419e72 |
+ "stop state %d\n",
|
|
Daniel Wagner |
419e72 |
+ __func__, fcport->se_sess, fcport,
|
|
Daniel Wagner |
419e72 |
+ fcport->port_name, fcport->loop_id,
|
|
Daniel Wagner |
419e72 |
+ fcport->d_id.b24, fcport->logout_on_delete,
|
|
Daniel Wagner |
419e72 |
+ fcport->keep_nport_handle, fcport->send_els_logo,
|
|
Daniel Wagner |
419e72 |
+ fcport->disc_state, fcport->edif.auth_state,
|
|
Daniel Wagner |
419e72 |
+ fcport->edif.app_stop);
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
if (atomic_read(&vha->loop_state) == LOOP_DOWN)
|
|
Daniel Wagner |
419e72 |
break;
|
|
Daniel Wagner |
419e72 |
- if (!(fcport->flags & FCF_FCSP_DEVICE))
|
|
Daniel Wagner |
419e72 |
- continue;
|
|
Daniel Wagner |
419e72 |
|
|
Daniel Wagner |
419e72 |
fcport->edif.app_started = 1;
|
|
Daniel Wagner |
419e72 |
- if (fcport->edif.app_stop ||
|
|
Daniel Wagner |
419e72 |
- (fcport->disc_state != DSC_LOGIN_COMPLETE &&
|
|
Daniel Wagner |
419e72 |
- fcport->disc_state != DSC_LOGIN_PEND &&
|
|
Daniel Wagner |
419e72 |
- fcport->disc_state != DSC_DELETED)) {
|
|
Daniel Wagner |
419e72 |
- /* no activity */
|
|
Daniel Wagner |
419e72 |
- fcport->edif.app_stop = 0;
|
|
Daniel Wagner |
419e72 |
-
|
|
Daniel Wagner |
419e72 |
- ql_dbg(ql_dbg_edif, vha, 0x911e,
|
|
Daniel Wagner |
419e72 |
- "%s wwpn %8phC calling qla_edif_reset_auth_wait\n",
|
|
Daniel Wagner |
419e72 |
- __func__, fcport->port_name);
|
|
Daniel Wagner |
419e72 |
- fcport->edif.app_sess_online = 1;
|
|
Daniel Wagner |
419e72 |
- qla_edif_reset_auth_wait(fcport, DSC_LOGIN_PEND, 0);
|
|
Daniel Wagner |
419e72 |
- }
|
|
Daniel Wagner |
419e72 |
+ fcport->login_retry = vha->hw->login_retry_count;
|
|
Daniel Wagner |
419e72 |
+
|
|
Daniel Wagner |
419e72 |
+ /* no activity */
|
|
Daniel Wagner |
419e72 |
+ fcport->edif.app_stop = 0;
|
|
Daniel Wagner |
419e72 |
+
|
|
Daniel Wagner |
419e72 |
+ ql_dbg(ql_dbg_edif, vha, 0x911e,
|
|
Daniel Wagner |
419e72 |
+ "%s wwpn %8phC calling qla_edif_reset_auth_wait\n",
|
|
Daniel Wagner |
419e72 |
+ __func__, fcport->port_name);
|
|
Daniel Wagner |
419e72 |
+ fcport->edif.app_sess_online = 1;
|
|
Daniel Wagner |
419e72 |
+ qla_edif_reset_auth_wait(fcport, DSC_LOGIN_PEND, 0);
|
|
Daniel Wagner |
419e72 |
qla_edif_sa_ctl_init(vha, fcport);
|
|
Daniel Wagner |
419e72 |
}
|
|
Daniel Wagner |
419e72 |
}
|