mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-20 12:11:26 +00:00
qla2x00t-32gbit: Fix point-to-point (N2N) device discovery issue
Driver was using a shorter timeout waiting for PLOGI from the peer in point-to-point configurations. Some devices takes some time (~4 seconds) to initiate the PLOGI. This peer initiating PLOGI is when the peer has a higher P-WWN. Increase the wait time based on N2N R_A_TOV. Link: https://lore.kernel.org/r/20200929102152.32278-7-njavali@marvell.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Arun Easi <aeasi@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> See also upstream commit 94eda2717826015a80ca271394c4378747de8936. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9274 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -5173,6 +5173,8 @@ struct sff_8247_a0 {
|
||||
ha->current_topology == ISP_CFG_N || \
|
||||
!ha->current_topology)
|
||||
|
||||
#define QLA_N2N_WAIT_TIME 5 /* 2 * ra_tov(n2n) + 1 */
|
||||
|
||||
#define NVME_TYPE(fcport) \
|
||||
(fcport->fc4_type & FS_FC4TYPE_NVME) \
|
||||
|
||||
|
||||
@@ -3993,7 +3993,8 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
|
||||
|
||||
if (fcport) {
|
||||
fcport->plogi_nack_done_deadline = jiffies + HZ;
|
||||
fcport->dm_login_expire = jiffies + 2*HZ;
|
||||
fcport->dm_login_expire = jiffies +
|
||||
QLA_N2N_WAIT_TIME * HZ;
|
||||
fcport->scan_state = QLA_FCPORT_FOUND;
|
||||
fcport->n2n_flag = 1;
|
||||
fcport->keep_nport_handle = 1;
|
||||
|
||||
@@ -5148,6 +5148,8 @@ void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e)
|
||||
|
||||
fcport->fc4_type = e->u.new_sess.fc4_type;
|
||||
if (e->u.new_sess.fc4_type & FS_FCP_IS_N2N) {
|
||||
fcport->dm_login_expire = jiffies +
|
||||
QLA_N2N_WAIT_TIME * HZ;
|
||||
fcport->fc4_type = FS_FC4TYPE_FCP;
|
||||
fcport->n2n_flag = 1;
|
||||
if (vha->flags.nvme_enabled)
|
||||
|
||||
Reference in New Issue
Block a user