6.18.45 regression with bnxt_en due to uninitialized RX page size
From: Max Kellermann
Date: Thu Aug 20 2026 - 03:44:59 EST
Hi,
after updating our servers to 6.18.45, the bnxt_en NICs would fail to
initialize:
page_pool_create_percpu() gave up with errno -22
bnxt_en 0000:c4:00.0 eno12399np0: bnxt_alloc_mem err: ffffffea
The regression appears to have been introduced by the backport of
ad9ffc61fafeb ("eth: bnxt: support qcfg provided rx page size"). It
obtains rx_page_size from the per-queue configuration:
rxr->rx_page_size = rxq->qcfg.rx_page_size;
The bnxt_en driver installs queue_mgmt_ops only when
BNXT_SUPPORTS_QUEUE_API() is true. On some NICs (like ours),
ndo_default_qcfg is never called and rxq->qcfg.rx_page_size remains
zero, leading to bnxt_alloc_rx_page_pool() failure with -EINVAL.
This was fixed in master by:
1410c7416dc3 ("eth: bnxt: always set the queue mgmt ops")
3cf48c04966e ("eth: bnxt: make sure we populate the qcfg defaults on
old FW/HW")
After cherry-picking these two commits on top of 6.18.45, the error
disappeared. I suggest backporting them.
--
Max Kellermann
Principal Software Engineer
Hosting Technology
cm4all GmbH | Im Mediapark 6a | 50670 Köln | Germany
E-Mail: max.kellermann@xxxxxxxxx | Web: www.cm4all.com
General information about the company can be found here.
A member of the IONOS Group