diff mbox series

lpfc: Fix split code for FLOGI on FCoE

Message ID 20220506205528.61590-1-jsmart2021@gmail.com (mailing list archive)
State Accepted
Headers show
Series lpfc: Fix split code for FLOGI on FCoE | expand

Commit Message

James Smart May 6, 2022, 8:55 p.m. UTC
The refactoring code converted context information from SLI-3 to SLI-4.
The conversion for the SLI-4 bit field tried to use the old (hacky)
sli3 high/low bit settings.  Needless to say, it was incorrect.

Explicitly set the context field to type FCFI and set it in the wqe.
SLI-4 is now a proper bit field so no need for the shifting/anding.

Fixes: 6831ce129f19 ("scsi: lpfc: SLI path split: Refactor base ELS paths and the FLOGI path")
Co-developed-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
---
 drivers/scsi/lpfc/lpfc_els.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Martin K. Petersen May 11, 2022, 2:38 a.m. UTC | #1
On Fri, 6 May 2022 13:55:28 -0700, James Smart wrote:

> The refactoring code converted context information from SLI-3 to SLI-4.
> The conversion for the SLI-4 bit field tried to use the old (hacky)
> sli3 high/low bit settings.  Needless to say, it was incorrect.
> 
> Explicitly set the context field to type FCFI and set it in the wqe.
> SLI-4 is now a proper bit field so no need for the shifting/anding.
> 
> [...]

Applied to 5.18/scsi-fixes, thanks!

[1/1] lpfc: Fix split code for FLOGI on FCoE
      https://git.kernel.org/mkp/scsi/c/cc28fac16ab7
diff mbox series

Patch

diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 51c505d15410..07f9a6e61e10 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -1317,7 +1317,7 @@  lpfc_issue_els_flogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
 		if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
 		    LPFC_SLI_INTF_IF_TYPE_0) {
 			/* FLOGI needs to be 3 for WQE FCFI */
-			ct = ((SLI4_CT_FCFI >> 1) & 1) | (SLI4_CT_FCFI & 1);
+			ct = SLI4_CT_FCFI;
 			bf_set(wqe_ct, &wqe->els_req.wqe_com, ct);
 
 			/* Set the fcfi to the fcfi we registered with */