[PATCH net-next v3 0/7] bnxt_en: Ring accounting fixes
flat view
WARM3d
SUPERSEDED
From: Michael Chan <michael.chan@broadcom.com>
Date: 2026-10-12 22:09:07
Revision v3 of 2 in this series.
Revisions (2)
- v3 current
- v4 [diff vs current]
The main purpose of this patchset is to fix ring accounting bugs specifically when FW is unable to reserve all the rings requested by the driver. This issue was first reported by Sashiko when reviewing the driver patches to support kTLS (patch #3 of 15): https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260810051358.1244418-7-michael.chan@broadcom.com kTLS support requires the new MPC rings, so the patches touch the existing ring reservstion logic and exposed the issues to Sashiko. The issues are real but only likely to be hit with a large number of VFs, stressing the ring resources to the limit. These issues were not found in the lab or by users, so Jakub suggested splitting these out and posting them to net-next. The patchset includes some refactoring and some related fixes in this code path. The driver will now scale down the rings properly when FW is unable reserve all the rings requested by the driver. The default RSS context is also reset if the RX rings have been reduced if needed. Note that additional RSS contexts and n-tuple filters have similar problems if the RX rings are reduced and the fixes are deferred to a future patchset. Patch #6 is new and removes support for the obsolete NITRO A0, to make the fixes in patch #7 simpler. v3: Split from the original -net patchset (patchs 1 to 6) Updated to address some more Sashiko comments. Added the new patch #6 to remove NITRO A0. v2: Updated to address some Sashiko comments. https://lore.kernel.org/netdev/20260928041712.3467803-1-michael.chan@broadcom.com/ (local) v1: https://lore.kernel.org/netdev/20260831024342.2161156-1-michael.chan@broadcom.com/ (local) Michael Chan (7): bnxt_en: Clear bp->total_irqs in bnxt_init_int_mode() during error bnxt_en: Fix bnxt_reinit_features() when irq_re_init is true bnxt_en: Refactor RSS table check logic bnxt_en: Refactor IRQs required logic bnxt_en: Reinit IRQ when configuring LRO/GRO/HDS bnxt_en: Remove support for the old NITRO A0 chip bnxt_en: Fix ring accounting and validation when rings are constrained drivers/net/ethernet/broadcom/bnxt/bnxt.c | 446 ++++++++---------- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 12 +- .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 22 +- 3 files changed, 211 insertions(+), 269 deletions(-) -- 2.51.0