diff options
author | James Smart <james.smart@emulex.com> | 2010-04-06 15:06:30 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 14:45:53 -0400 |
commit | 78730cfe0649bce86e64eafda9bdffa38f05d396 (patch) | |
tree | 7a0cbdf556602349b81db5962b5aec87bff68d8a /drivers/scsi/lpfc/lpfc_els.c | |
parent | c74959370369cd870560777b7db7ec940565bb85 (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.c | 2 |
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; |