提交 3f57c144 编写于 作者: R Roman Bolshakov 提交者: Yang Yingliang

scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI

[ Upstream commit af22f0c7b052c5c203207f1e5ebd6aa65f87c538 ]

PORT UPDATE asynchronous event is generated on the host that issues PLOGI
ELS (in the case of higher WWPN). In that case, the event shouldn't be
handled as it sets unwanted DPC flags (i.e. LOOP_RESYNC_NEEDED) that
trigger link flap.

Ignore the event if the host has higher WWPN, but handle otherwise.

Cc: Quinn Tran <qutran@marvell.com>
Link: https://lore.kernel.org/r/20191125165702.1013-13-r.bolshakov@yadro.comAcked-by: NHimanshu Madhani <hmadhani@marvell.com>
Reviewed-by: NHannes Reinecke <hare@suse.de>
Tested-by: NHannes Reinecke <hare@suse.de>
Signed-off-by: NRoman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 b19729ab
...@@ -3871,6 +3871,7 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha, ...@@ -3871,6 +3871,7 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
vha->d_id.b24 = 0; vha->d_id.b24 = 0;
vha->d_id.b.al_pa = 1; vha->d_id.b.al_pa = 1;
ha->flags.n2n_bigger = 1; ha->flags.n2n_bigger = 1;
ha->flags.n2n_ae = 0;
id.b.al_pa = 2; id.b.al_pa = 2;
ql_dbg(ql_dbg_async, vha, 0x5075, ql_dbg(ql_dbg_async, vha, 0x5075,
...@@ -3881,6 +3882,7 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha, ...@@ -3881,6 +3882,7 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
"Format 1: Remote login - Waiting for WWPN %8phC.\n", "Format 1: Remote login - Waiting for WWPN %8phC.\n",
rptid_entry->u.f1.port_name); rptid_entry->u.f1.port_name);
ha->flags.n2n_bigger = 0; ha->flags.n2n_bigger = 0;
ha->flags.n2n_ae = 1;
} }
qla24xx_post_newsess_work(vha, &id, qla24xx_post_newsess_work(vha, &id,
rptid_entry->u.f1.port_name, rptid_entry->u.f1.port_name,
...@@ -3892,7 +3894,6 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha, ...@@ -3892,7 +3894,6 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
/* if our portname is higher then initiate N2N login */ /* if our portname is higher then initiate N2N login */
set_bit(N2N_LOGIN_NEEDED, &vha->dpc_flags); set_bit(N2N_LOGIN_NEEDED, &vha->dpc_flags);
ha->flags.n2n_ae = 1;
return; return;
break; break;
case TOPO_FL: case TOPO_FL:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册