]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
scsi/lpfc: Reregister VPI for SLI3 after cable moved to new 8Gb FC Adapter port
authorVaios Papadimitriou <vaios.papadimitriou@emulex.com>
Tue, 28 Aug 2012 22:46:46 +0000 (15:46 -0700)
committerJerry Snitselaar <jerry.snitselaar@oracle.com>
Wed, 5 Sep 2012 19:25:44 +0000 (12:25 -0700)
commit id: 27aa1b73539f2c7118a68c9baaad590d3a92462f

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
drivers/scsi/lpfc/lpfc_els.c

index 591ec56c716034cce54bb9d122c6448cec68dfef..3eeddabc36309609e61494fcf2319f1ffcbf3b14 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)) {
                        /*