]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
eth: bnxt: make sure we populate the qcfg defaults on old FW/HW
authorJakub Kicinski <kuba@kernel.org>
Wed, 28 Jan 2026 19:32:58 +0000 (11:32 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 30 Jan 2026 02:51:11 +0000 (18:51 -0800)
The driver now depends on the core to tell it what the rx page size
should be for the agg ring. We must populate the ndo_default_qcfg
callback even if we don't support any queue ops.

This fixes:
  Oops: divide error: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN
  RIP: 0010:bnxt_alloc_rx_page_pool (drivers/net/ethernet/broadcom/bnxt/bnxt.c:3852)

with fw version 225.1.109.0.

Link: https://lore.kernel.org/20250421222827.283737-20-kuba@kernel.org
Fixes: f96e1b35779e ("eth: bnxt: support qcfg provided rx page size")
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20260128193258.125274-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 8fc0720c3057880ae3dda949addc7b0cb8b00e10..466e0fc6141f129f5f662e18462fe2fb1927b9a7 100644 (file)
@@ -16316,6 +16316,7 @@ static const struct netdev_queue_mgmt_ops bnxt_queue_mgmt_ops = {
 };
 
 static const struct netdev_queue_mgmt_ops bnxt_queue_mgmt_ops_unsupp = {
+       .ndo_default_qcfg       = bnxt_queue_default_qcfg,
 };
 
 static void bnxt_remove_one(struct pci_dev *pdev)