diff options
author | James Smart <james.smart@emulex.com> | 2012-05-09 21:19:03 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-05-17 06:09:55 -0400 |
commit | 939723a4a680a7863fc95179b1480c5529f31d88 (patch) | |
tree | 247a5737b39aea3e3dfda95d9f59210bda5f6704 /drivers/scsi/lpfc/lpfc_nportdisc.c | |
parent | 27aa1b73539f2c7118a68c9baaad590d3a92462f (diff) |
[SCSI] lpfc 8.3.31: Correct point-to-point mode discovery errors on LPe16xxx
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_nportdisc.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_nportdisc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c index 15ca2a9a0cdd..9133a97f045f 100644 --- a/drivers/scsi/lpfc/lpfc_nportdisc.c +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c | |||
@@ -367,8 +367,10 @@ lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, | |||
367 | return 1; | 367 | return 1; |
368 | } | 368 | } |
369 | 369 | ||
370 | /* Check for Nport to NPort pt2pt protocol */ | ||
370 | if ((vport->fc_flag & FC_PT2PT) && | 371 | if ((vport->fc_flag & FC_PT2PT) && |
371 | !(vport->fc_flag & FC_PT2PT_PLOGI)) { | 372 | !(vport->fc_flag & FC_PT2PT_PLOGI)) { |
373 | |||
372 | /* rcv'ed PLOGI decides what our NPortId will be */ | 374 | /* rcv'ed PLOGI decides what our NPortId will be */ |
373 | vport->fc_myDID = icmd->un.rcvels.parmRo; | 375 | vport->fc_myDID = icmd->un.rcvels.parmRo; |
374 | mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); | 376 | mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); |
@@ -382,6 +384,13 @@ lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, | |||
382 | mempool_free(mbox, phba->mbox_mem_pool); | 384 | mempool_free(mbox, phba->mbox_mem_pool); |
383 | goto out; | 385 | goto out; |
384 | } | 386 | } |
387 | /* | ||
388 | * For SLI4, the VFI/VPI are registered AFTER the | ||
389 | * Nport with the higher WWPN sends us a PLOGI with | ||
390 | * our assigned NPortId. | ||
391 | */ | ||
392 | if (phba->sli_rev == LPFC_SLI_REV4) | ||
393 | lpfc_issue_reg_vfi(vport); | ||
385 | 394 | ||
386 | lpfc_can_disctmo(vport); | 395 | lpfc_can_disctmo(vport); |
387 | } | 396 | } |