]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: lpfc: Allow support for BB credit recovery in point-to-point topology
authorJustin Tee <justin.tee@broadcom.com>
Thu, 6 Nov 2025 22:46:37 +0000 (14:46 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 8 Nov 2025 18:18:00 +0000 (13:18 -0500)
Currently, BB credit recovery is excluded to fabric topology mode.  This
patch allows setting of BB_SC_N in PLOGIs and PLOGI_ACCs when in
point-to-point mode so that BB credit recovery can operate in
point-to-point topology as well.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://patch.msgid.link/20251106224639.139176-9-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_els.c

index 0045c1e296197955df0418b5f5993360f23eb1f0..b066ba83ce87b3cbf4baaf77b37d91bf3d6fa320 100644 (file)
@@ -2279,7 +2279,8 @@ lpfc_issue_els_plogi(struct lpfc_vport *vport, uint32_t did, uint8_t retry)
 
        sp->cmn.valid_vendor_ver_level = 0;
        memset(sp->un.vendorVersion, 0, sizeof(sp->un.vendorVersion));
-       sp->cmn.bbRcvSizeMsb &= 0xF;
+       if (!test_bit(FC_PT2PT, &vport->fc_flag))
+               sp->cmn.bbRcvSizeMsb &= 0xF;
 
        /* Check if the destination port supports VMID */
        ndlp->vmid_support = 0;
@@ -5670,7 +5671,8 @@ lpfc_els_rsp_acc(struct lpfc_vport *vport, uint32_t flag,
                        sp->cmn.valid_vendor_ver_level = 0;
                        memset(sp->un.vendorVersion, 0,
                               sizeof(sp->un.vendorVersion));
-                       sp->cmn.bbRcvSizeMsb &= 0xF;
+                       if (!test_bit(FC_PT2PT, &vport->fc_flag))
+                               sp->cmn.bbRcvSizeMsb &= 0xF;
 
                        /* If our firmware supports this feature, convey that
                         * info to the target using the vendor specific field.