]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()
authorAlok Tiwari <alok.a.tiwari@oracle.com>
Wed, 17 Dec 2025 10:01:41 +0000 (02:01 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:58 +0000 (13:09 +0100)
[ Upstream commit 145a417a39d7efbc881f52e829817376972b278c ]

RCFW_COMM_CONS_PCI_BAR_REGION is defined as BAR 2, so checking
!creq_db->reg.bar_id is incorrect and always false.

pci_resource_start() returns the BAR base address, and a value of 0
indicates that the BAR is unassigned. Update the condition to test
bar_base == 0 instead.

This ensures the driver detects and logs an error for an unassigned
RCFW communication BAR.

Fixes: cee0c7bba486 ("RDMA/bnxt_re: Refactor command queue management code")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Link: https://patch.msgid.link/20251217100158.752504-1-alok.a.tiwari@oracle.com
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c

index 2394dcc0338cfce19c9459c7b640fa501ab90e16..67c12e604e9b8c305d663c91b1caf8b091266e54 100644 (file)
@@ -779,7 +779,7 @@ static int bnxt_qplib_map_creq_db(struct bnxt_qplib_rcfw *rcfw, u32 reg_offt)
 
        creq_db->reg.bar_id = RCFW_COMM_CONS_PCI_BAR_REGION;
        creq_db->reg.bar_base = pci_resource_start(pdev, creq_db->reg.bar_id);
-       if (!creq_db->reg.bar_id)
+       if (!creq_db->reg.bar_base)
                dev_err(&pdev->dev,
                        "QPLIB: CREQ BAR region %d resc start is 0!",
                        creq_db->reg.bar_id);