diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_vport.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_vport.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c index 606efa767548..7d6dd83d3592 100644 --- a/drivers/scsi/lpfc/lpfc_vport.c +++ b/drivers/scsi/lpfc/lpfc_vport.c | |||
@@ -389,7 +389,7 @@ lpfc_vport_create(struct fc_vport *fc_vport, bool disable) | |||
389 | * by the port. | 389 | * by the port. |
390 | */ | 390 | */ |
391 | if ((phba->sli_rev == LPFC_SLI_REV4) && | 391 | if ((phba->sli_rev == LPFC_SLI_REV4) && |
392 | (pport->vfi_state & LPFC_VFI_REGISTERED)) { | 392 | (pport->vpi_state & LPFC_VPI_REGISTERED)) { |
393 | rc = lpfc_sli4_init_vpi(phba, vpi); | 393 | rc = lpfc_sli4_init_vpi(phba, vpi); |
394 | if (rc) { | 394 | if (rc) { |
395 | lpfc_printf_log(phba, KERN_ERR, LOG_VPORT, | 395 | lpfc_printf_log(phba, KERN_ERR, LOG_VPORT, |
@@ -700,6 +700,8 @@ lpfc_vport_delete(struct fc_vport *fc_vport) | |||
700 | } | 700 | } |
701 | spin_unlock_irq(&phba->ndlp_lock); | 701 | spin_unlock_irq(&phba->ndlp_lock); |
702 | } | 702 | } |
703 | if (vport->vpi_state != LPFC_VPI_REGISTERED) | ||
704 | goto skip_logo; | ||
703 | vport->unreg_vpi_cmpl = VPORT_INVAL; | 705 | vport->unreg_vpi_cmpl = VPORT_INVAL; |
704 | timeout = msecs_to_jiffies(phba->fc_ratov * 2000); | 706 | timeout = msecs_to_jiffies(phba->fc_ratov * 2000); |
705 | if (!lpfc_issue_els_npiv_logo(vport, ndlp)) | 707 | if (!lpfc_issue_els_npiv_logo(vport, ndlp)) |