aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-05-09 21:18:49 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-05-17 06:09:21 -0400
commit27aa1b73539f2c7118a68c9baaad590d3a92462f (patch)
treee31d8010936c5687d793b929dd2f2b49f53c91ba
parent75ad83a452116c00c092bdc4c842c4401cd24080 (diff)
[SCSI] lpfc 8.3.31: Reregister VPI for SLI3 after cable moved to new Saturn port
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>
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 2ecd719cc2aa..95cff9909eff 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -707,14 +707,17 @@ lpfc_cmpl_els_flogi_fabric(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
707 lpfc_sli4_unreg_all_rpis(vport); 707 lpfc_sli4_unreg_all_rpis(vport);
708 lpfc_mbx_unreg_vpi(vport); 708 lpfc_mbx_unreg_vpi(vport);
709 spin_lock_irq(shost->host_lock); 709 spin_lock_irq(shost->host_lock);
710 vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
711 /*
712 * If VPI is unreged, driver need to do INIT_VPI
713 * before re-registering
714 */
715 vport->fc_flag |= FC_VPORT_NEEDS_INIT_VPI; 710 vport->fc_flag |= FC_VPORT_NEEDS_INIT_VPI;
716 spin_unlock_irq(shost->host_lock); 711 spin_unlock_irq(shost->host_lock);
717 } 712 }
713
714 /*
715 * For SLI3 and SLI4, the VPI needs to be reregistered in
716 * response to this fabric parameter change event.
717 */
718 spin_lock_irq(shost->host_lock);
719 vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
720 spin_unlock_irq(shost->host_lock);
718 } else if ((phba->sli_rev == LPFC_SLI_REV4) && 721 } else if ((phba->sli_rev == LPFC_SLI_REV4) &&
719 !(vport->fc_flag & FC_VPORT_NEEDS_REG_VPI)) { 722 !(vport->fc_flag & FC_VPORT_NEEDS_REG_VPI)) {
720 /* 723 /*