On Wed, 15 Jul 2026 14:13:39 +0530
<[email protected]> wrote:

> From: Satheesh Paul <[email protected]>
> 
> Support for flow aggregator enqueue profiles.
> 
> Signed-off-by: Satheesh Paul <[email protected]>
> ---
 
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.

Reply via email to