aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_els.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-04-06 15:06:30 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 14:45:53 -0400
commit78730cfe0649bce86e64eafda9bdffa38f05d396 (patch)
tree7a0cbdf556602349b81db5962b5aec87bff68d8a /drivers/scsi/lpfc/lpfc_els.c
parentc74959370369cd870560777b7db7ec940565bb85 (diff)
[SCSI] lpfc 8.3.12: Fix discovery issues
- Add code to prevent unreg_vpi mailbox command from failing. - Add code to reset the HBA if unreg_vpi mailbox fails with busy status. - Remove code that was clearing the nlp_type stored during rport discovery. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 1de60ce6f296..c4c7f0ad7468 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -584,6 +584,7 @@ lpfc_cmpl_els_flogi_fabric(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
584 spin_unlock_irq(shost->host_lock); 584 spin_unlock_irq(shost->host_lock);
585 lpfc_unreg_rpi(vport, np); 585 lpfc_unreg_rpi(vport, np);
586 } 586 }
587 lpfc_cleanup_pending_mbox(vport);
587 if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) { 588 if (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED) {
588 lpfc_mbx_unreg_vpi(vport); 589 lpfc_mbx_unreg_vpi(vport);
589 spin_lock_irq(shost->host_lock); 590 spin_lock_irq(shost->host_lock);
@@ -6316,6 +6317,7 @@ lpfc_cmpl_els_fdisc(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
6316 spin_unlock_irq(shost->host_lock); 6317 spin_unlock_irq(shost->host_lock);
6317 lpfc_unreg_rpi(vport, np); 6318 lpfc_unreg_rpi(vport, np);
6318 } 6319 }
6320 lpfc_cleanup_pending_mbox(vport);
6319 lpfc_mbx_unreg_vpi(vport); 6321 lpfc_mbx_unreg_vpi(vport);
6320 spin_lock_irq(shost->host_lock); 6322 spin_lock_irq(shost->host_lock);
6321 vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI; 6323 vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI;