Commit 1987807d authored by James Smart's avatar James Smart Committed by James Bottomley

[SCSI] lpfc 8.3.7: Fix NPIV operation errors

Fix NPIV operation errors:
- Fix vport not logging out of fabric when being deleted
- Fix vport fails to discover targets after devloss timeout.
Signed-off-by: default avatarJames Smart <james.smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent eeead811
...@@ -5948,8 +5948,8 @@ lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) ...@@ -5948,8 +5948,8 @@ lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
lpfc_initial_fdisc(vport); lpfc_initial_fdisc(vport);
break; break;
} }
} else { } else {
vport->vpi_state |= LPFC_VPI_REGISTERED;
if (vport == phba->pport) if (vport == phba->pport)
if (phba->sli_rev < LPFC_SLI_REV4) if (phba->sli_rev < LPFC_SLI_REV4)
lpfc_issue_fabric_reglogin(vport); lpfc_issue_fabric_reglogin(vport);
......
...@@ -2260,6 +2260,7 @@ lpfc_mbx_cmpl_unreg_vpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) ...@@ -2260,6 +2260,7 @@ lpfc_mbx_cmpl_unreg_vpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
break; break;
} }
vport->vpi_state &= ~LPFC_VPI_REGISTERED; vport->vpi_state &= ~LPFC_VPI_REGISTERED;
vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;
vport->unreg_vpi_cmpl = VPORT_OK; vport->unreg_vpi_cmpl = VPORT_OK;
mempool_free(pmb, phba->mbox_mem_pool); mempool_free(pmb, phba->mbox_mem_pool);
/* /*
......
...@@ -700,7 +700,7 @@ lpfc_vport_delete(struct fc_vport *fc_vport) ...@@ -700,7 +700,7 @@ lpfc_vport_delete(struct fc_vport *fc_vport)
} }
spin_unlock_irq(&phba->ndlp_lock); spin_unlock_irq(&phba->ndlp_lock);
} }
if (vport->vpi_state != LPFC_VPI_REGISTERED) if (!(vport->vpi_state & LPFC_VPI_REGISTERED))
goto skip_logo; goto skip_logo;
vport->unreg_vpi_cmpl = VPORT_INVAL; vport->unreg_vpi_cmpl = VPORT_INVAL;
timeout = msecs_to_jiffies(phba->fc_ratov * 2000); timeout = msecs_to_jiffies(phba->fc_ratov * 2000);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment