On Wed, Apr 19, 2017 at 09:46:37PM -0700, jsmart2021@xxxxxxxxx wrote: > From: James Smart <jsmart2021@xxxxxxxxx> > > Adding support for Fabric assigned WWPN and WWNN. > > Firmware sends first FLOGI to fabric with vendor version changes. > On link up driver gets updated service parameter with FAWWN assigned port > name. Driver sends 2nd FLOGI with updated fawwpn and modifies the > vport->fc_portname in driver. > > Note: > Soft wwpn will not be allowed when fawwpn is enabled. > > Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx> > Signed-off-by: James Smart <james.smart@xxxxxxxxxxxx> > --- Aparrt form the superflous parenthesis like in this hunk: > @@ -354,9 +356,26 @@ lpfc_update_vport_wwn(struct lpfc_vport *vport) > memcpy(&vport->fc_sparam.nodeName, &vport->fc_nodename, > sizeof(struct lpfc_name)); > > - if (vport->fc_portname.u.wwn[0] == 0 || vport->phba->cfg_soft_wwpn) > + /* > + * If the port name has changed, then set the Param changes flag > + * to unreg the login > + */ > + if ((vport->fc_portname.u.wwn[0] != 0) && > + memcmp(&vport->fc_portname, &vport->fc_sparam.portName, > + sizeof(struct lpfc_name))) > + vport->vport_flag |= FAWWPN_PARAM_CHG; > + > + if ((vport->fc_portname.u.wwn[0] == 0) || > + (vport->phba->cfg_soft_wwpn) || > + (vvvl == 1 && (cpu_to_be32(*fawwpn_key)) == FAPWWN_KEY_VENDOR) || > + (vport->vport_flag & FAWWPN_SET)) { > memcpy(&vport->fc_portname, &vport->fc_sparam.portName, > sizeof(struct lpfc_name)); > + vport->vport_flag &= ~FAWWPN_SET; > + if (vvvl == 1 && (cpu_to_be32(*fawwpn_key)) == > + FAPWWN_KEY_VENDOR) > + vport->vport_flag |= FAWWPN_SET; > + } Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> -- Johannes Thumshirn Storage jthumshirn@xxxxxxx +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850