[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: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
committed by
James Bottomley
parent
eeead81152
commit
1987807d4a
@@ -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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
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);
|
||||||
|
Reference in New Issue
Block a user