diff options
author | James Smart <james.smart@emulex.com> | 2012-05-09 21:18:49 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-05-17 06:09:21 -0400 |
commit | 27aa1b73539f2c7118a68c9baaad590d3a92462f (patch) | |
tree | e31d8010936c5687d793b929dd2f2b49f53c91ba | |
parent | 75ad83a452116c00c092bdc4c842c4401cd24080 (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.c | 13 |
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 | /* |