diff options
author | James Smart <James.Smart@Emulex.Com> | 2008-06-14 22:52:47 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-07-12 09:22:27 -0400 |
commit | 0d2b6b83030d6a88cbf7db57f84f2daf0e0b251b (patch) | |
tree | 7523cdfa622916864ccd1cecef6f407a482e35e6 /drivers/scsi/lpfc/lpfc_init.c | |
parent | 915caaaf622172bd3451e7b76ba9cfcea80e87c7 (diff) |
[SCSI] lpfc 8.2.7 : Discovery Fixes
- Fix ADISC timeout on initiators causing devloss timeout on targets
- Correct FAN processing : port state vs unreg rpi's wasn't consistent
- Correct mismatches between ASICs and PLOGI that would skip PLOGI
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index fa757b251f82..6fcddda58512 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -851,6 +851,8 @@ lpfc_handle_latt(struct lpfc_hba *phba) | |||
851 | lpfc_read_la(phba, pmb, mp); | 851 | lpfc_read_la(phba, pmb, mp); |
852 | pmb->mbox_cmpl = lpfc_mbx_cmpl_read_la; | 852 | pmb->mbox_cmpl = lpfc_mbx_cmpl_read_la; |
853 | pmb->vport = vport; | 853 | pmb->vport = vport; |
854 | /* Block ELS IOCBs until we have processed this mbox command */ | ||
855 | phba->sli.ring[LPFC_ELS_RING].flag |= LPFC_STOP_IOCB_EVENT; | ||
854 | rc = lpfc_sli_issue_mbox (phba, pmb, MBX_NOWAIT); | 856 | rc = lpfc_sli_issue_mbox (phba, pmb, MBX_NOWAIT); |
855 | if (rc == MBX_NOT_FINISHED) { | 857 | if (rc == MBX_NOT_FINISHED) { |
856 | rc = 4; | 858 | rc = 4; |
@@ -866,6 +868,7 @@ lpfc_handle_latt(struct lpfc_hba *phba) | |||
866 | return; | 868 | return; |
867 | 869 | ||
868 | lpfc_handle_latt_free_mbuf: | 870 | lpfc_handle_latt_free_mbuf: |
871 | phba->sli.ring[LPFC_ELS_RING].flag &= ~LPFC_STOP_IOCB_EVENT; | ||
869 | lpfc_mbuf_free(phba, mp->virt, mp->phys); | 872 | lpfc_mbuf_free(phba, mp->virt, mp->phys); |
870 | lpfc_handle_latt_free_mp: | 873 | lpfc_handle_latt_free_mp: |
871 | kfree(mp); | 874 | kfree(mp); |