aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_els.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_els.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 6bdeb14878a2..2aabaf9c4053 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -6108,9 +6108,17 @@ lpfc_issue_els_fdisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
6108 icmd->un.elsreq64.myID = 0; 6108 icmd->un.elsreq64.myID = 0;
6109 icmd->un.elsreq64.fl = 1; 6109 icmd->un.elsreq64.fl = 1;
6110 6110
6111 /* For FDISC, Let FDISC rsp set the NPortID for this VPI */ 6111 if (phba->sli_rev == LPFC_SLI_REV4) {
6112 icmd->ulpCt_h = 1; 6112 /* FDISC needs to be 1 for WQE VPI */
6113 icmd->ulpCt_l = 0; 6113 elsiocb->iocb.ulpCt_h = (SLI4_CT_VPI >> 1) & 1;
6114 elsiocb->iocb.ulpCt_l = SLI4_CT_VPI & 1 ;
6115 /* Set the ulpContext to the vpi */
6116 elsiocb->iocb.ulpContext = vport->vpi + phba->vpi_base;
6117 } else {
6118 /* For FDISC, Let FDISC rsp set the NPortID for this VPI */
6119 icmd->ulpCt_h = 1;
6120 icmd->ulpCt_l = 0;
6121 }
6114 6122
6115 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt); 6123 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
6116 *((uint32_t *) (pcmd)) = ELS_CMD_FDISC; 6124 *((uint32_t *) (pcmd)) = ELS_CMD_FDISC;