diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hbadisc.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 1ee3e62c78a7..25892671bfb0 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -800,21 +800,9 @@ lpfc_mbx_cmpl_clear_la(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
800 | writel(control, phba->HCregaddr); | 800 | writel(control, phba->HCregaddr); |
801 | readl(phba->HCregaddr); /* flush */ | 801 | readl(phba->HCregaddr); /* flush */ |
802 | spin_unlock_irq(&phba->hbalock); | 802 | spin_unlock_irq(&phba->hbalock); |
803 | mempool_free(pmb, phba->mbox_mem_pool); | ||
803 | return; | 804 | return; |
804 | 805 | ||
805 | vport->num_disc_nodes = 0; | ||
806 | /* go thru NPR nodes and issue ELS PLOGIs */ | ||
807 | if (vport->fc_npr_cnt) | ||
808 | lpfc_els_disc_plogi(vport); | ||
809 | |||
810 | if (!vport->num_disc_nodes) { | ||
811 | spin_lock_irq(shost->host_lock); | ||
812 | vport->fc_flag &= ~FC_NDISC_ACTIVE; | ||
813 | spin_unlock_irq(shost->host_lock); | ||
814 | } | ||
815 | |||
816 | vport->port_state = LPFC_VPORT_READY; | ||
817 | |||
818 | out: | 806 | out: |
819 | /* Device Discovery completes */ | 807 | /* Device Discovery completes */ |
820 | lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, | 808 | lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, |
@@ -2484,6 +2472,7 @@ lpfc_disc_start(struct lpfc_vport *vport) | |||
2484 | * continue discovery. | 2472 | * continue discovery. |
2485 | */ | 2473 | */ |
2486 | if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) && | 2474 | if ((phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) && |
2475 | !(vport->fc_flag & FC_PT2PT) && | ||
2487 | !(vport->fc_flag & FC_RSCN_MODE)) { | 2476 | !(vport->fc_flag & FC_RSCN_MODE)) { |
2488 | lpfc_issue_reg_vpi(phba, vport); | 2477 | lpfc_issue_reg_vpi(phba, vport); |
2489 | return; | 2478 | return; |