[PATCH 1/2] common/cnxk: support aggregator enqueue profiles
Stephen Hemminger
stephen at networkplumber.org
Wed Sep 23 20:30:36 CEST 2026
On Wed, 15 Jul 2026 14:13:39 +0530
<ykanaujia at marvell.com> wrote:
> From: Satheesh Paul <psatheesh at marvell.com>
>
> Support for flow aggregator enqueue profiles.
>
> Signed-off-by: Satheesh Paul <psatheesh at marvell.com>
> ---
This was merged to main without sufficient review.
AI review sees:
16f07d871f "common/cnxk: support aggregator enqueue profiles" — two real bugs:
1. roc_nix.c:533 — the new goto tm_conf_fini is the first error path placed after
nix->dev.drv_inited = true (line 526). It tears the device fully down but never
clears the flag, so a later roc_nix_dev_init on the same nix hits the early if
(nix->dev.drv_inited) return 0; at line 463 and reports success on a dead device.
Fix: move the cn20k call above the assignment, or clear the flag in the error
path. (The nix_list TAILQ entry is also leaked, but that's pre-existing on every
failure path — not this patch's regression.)
2. roc_nix.c:605 — struct nix_af_rx_flow_vec_ctrl_write_rsp is used but defined
nowhere in the tree. It compiles only because it's a pointer to an incomplete
type that's never dereferenced. The M() entry at roc_mbox.h:362 declares the
response as msg_rsp; the variable should be struct msg_rsp *.
Plus: if (rc) goto exit; immediately before exit: is a no-op; static (non-const)
arrays defined in roc_nix_flow_vec.h; 2021 copyright on a new file; one-line
commit message for a new mbox message and HW config path.
I checked and cleared the things that looked suspicious here: mbox ID 0x8034 is
unused, both bitfield unions total exactly 64 bits, every constant fits its
field, and memcpy sizes match the request array dimensions.
More information about the dev
mailing list