Re: 6.18.45 regression with bnxt_en due to uninitialized RX page size
From: Greg KH
Date: Thu Aug 20 2026 - 07:36:43 EST
On Thu, Aug 20, 2026 at 09:44:06AM +0200, Max Kellermann wrote:
> 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.
Thanks for the info, I had seen that the last commit above was marked as
"fixing" the issue, but I had missed the previous one was required to
make it work. Both now queued up.
greg k-h