[SCSI] lpfc 8.3.31: Reregister VPI for SLI3 after cable moved to new Saturn port
authorJames Smart <james.smart@emulex.com>
Thu, 10 May 2012 01:18:49 +0000 (21:18 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Thu, 17 May 2012 10:09:21 +0000 (11:09 +0100)
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_els.c

index 2ecd719cc2aa25008b9fe10ccc1046bb1c199733..95cff9909eff53fe39d3c0f6fcc35cecf1f84dae 100644 (file)
@@ -707,14 +707,17 @@ lpfc_cmpl_els_flogi_fabric(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
                        lpfc_sli4_unreg_all_rpis(vport);
                        lpfc_mbx_unreg_vpi(vport);
                        spin_lock_irq(shost->host_lock);
-                       vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
-                       /*
-                       * If VPI is unreged, driver need to do INIT_VPI
-                       * before re-registering
-                       */
                        vport->fc_flag |= FC_VPORT_NEEDS_INIT_VPI;
                        spin_unlock_irq(shost->host_lock);
                }
+
+               /*
+                * For SLI3 and SLI4, the VPI needs to be reregistered in
+                * response to this fabric parameter change event.
+                */
+               spin_lock_irq(shost->host_lock);
+               vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
+               spin_unlock_irq(shost->host_lock);
        } else if ((phba->sli_rev == LPFC_SLI_REV4) &&
                !(vport->fc_flag & FC_VPORT_NEEDS_REG_VPI)) {
                        /*
This page took 0.030194 seconds and 5 git commands to generate.