All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: david.marchand@redhat.com, dev@dpdk.org
Subject: Re: [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers
Date: Thu, 18 Jun 2026 08:56:06 -0700	[thread overview]
Message-ID: <20260618085606.46b295ba@phoenix.local> (raw)
In-Reply-To: <20260618141151.3990283-1-hemant.agrawal@nxp.com>

On Thu, 18 Jun 2026 19:41:34 +0530
Hemant Agrawal <hemant.agrawal@nxp.com> wrote:

> This series contains bug fixes for the DPAA PMD (bus/dpaa, net/dpaa,
> net/dpaa/fmlib and dma/dpaa):
> 
> - Fix error handling in qman_create_fq and qman_query
> - Fix fqid endianness in qman_fq_flow_control
> - Fix CGR index usage in dpaa_modify_cgr
> - Add null check in fmlib scheme delete
> - Fix BMI RX stats register offset
> - Fix file descriptor leak after CCSR mmap
> - Fix device probe regression on LS1043A
> - Fix double-close in device remove path
> - Fix incorrect condition in interrupt unregister
> - Fix Coverity-reported issues in dpaa_flow and dpaa_qdma
> - Fix xstat name for tx undersized counter
> - Fix xstat string typos in BMI stats table
> - Remove duplicate ptype entries
> - Fix wrong buffer in xstats get by id
> - Fix null l3_len check in checksum offload
> - Fix mbuf leak in SG fd creation
> 
> All patches are bug fixes tagged with Fixes: and Cc: stable@dpdk.org.
> 
> Gagandeep Singh (3):
>   bus/dpaa: fix device probe issue
>   net/dpaa: fix device remove
>   net/dpaa: fix invalid check on interrupt unregister
> 
> Hemant Agrawal (11):
>   bus/dpaa: fix error handling of qman_create_fq
>   bus/dpaa: fix fqid endianness
>   bus/dpaa: fix error handling in qman_query
>   net/dpaa: fix modify cgr to use index
>   bus/dpaa: fix fd leak for ccsr mmap
>   net/dpaa: fix xstat name for tx undersized counter
>   net/dpaa: fix xstat string typos in BMI stats table
>   net/dpaa: remove duplicate ptype entries
>   net/dpaa: fix wrong buffer in xstats get by id
>   net/dpaa: fix null l3_len check in checksum offload
>   net/dpaa: fix mbuf leak in SG fd creation
> 
> Jun Yang (1):
>   bus/dpaa: fix BMI RX stats register offset
> 
> Prashant Gupta (1):
>   net/dpaa/fmlib: add null check in scheme delete
> 
> Vanshika Shukla (1):
>   net/dpaa: fix coverity reported issues
> 
>  drivers/bus/dpaa/base/qbman/bman_driver.c |  3 ++-
>  drivers/bus/dpaa/base/qbman/qman.c        | 11 +++++----
>  drivers/bus/dpaa/base/qbman/qman_driver.c |  6 ++---
>  drivers/bus/dpaa/dpaa_bus.c               |  6 ++---
>  drivers/bus/dpaa/include/fman.h           |  6 ++---
>  drivers/dma/dpaa/dpaa_qdma.c              |  7 +++++-
>  drivers/net/dpaa/dpaa_ethdev.c            | 27 +++++++++++------------
>  drivers/net/dpaa/dpaa_flow.c              |  4 ++++
>  drivers/net/dpaa/dpaa_rxtx.c              |  3 +++
>  drivers/net/dpaa/fmlib/fm_lib.c           |  3 +++
>  10 files changed, 46 insertions(+), 30 deletions(-)
> 

Looks good but there are some warnings from more detailed AI review that
need addressing.

Review of [PATCH v1 00/17] bus/dpaa, net/dpaa fixes

Reviewed against current main. No errors found; the series is a
solid set of bug fixes. A few warnings and notes below, mostly
about undocumented side effects and Fixes: accuracy. Patches not
listed (01, 02, 03, 04, 06, 07, 12, 14, 15, 16, 17) look correct.


[PATCH v1 05/17] net/dpaa/fmlib: add null check in scheme delete

Info: the commit body refers to FM_PCD_MatchTableSchemeDelete(),
but the function actually changed is fm_pcd_kg_scheme_delete().
The NULL guard and E_NO_DEVICE return are correct and match the
sibling functions in fm_lib.c; only the message names the wrong
API.


[PATCH v1 08/17] bus/dpaa: fix device probe issue

The early "return 0" was indeed skipping device-list creation, so
removing it fixes probe on LS1043A. Good.

Warning: that early return did two things -- it forced
max_push_rxq_num = 0 AND skipped the DPAA_PUSH_QUEUES_NUMBER
override that follows. With the return gone, execution now falls
through to:

	penv = getenv("DPAA_PUSH_QUEUES_NUMBER");
	if (penv)
		dpaa_bus.max_push_rxq_num = atoi(penv);

so on LS1043A the env var can now raise the push-queue count back
above zero, which the original code deliberately prevented (the
comment is "Disabling the default push mode for LS1043A", and the
SoC has the FMAN push-mode errata handled in dpaa_rxtx.c). If
LS1043A must keep push mode disabled regardless of the env var,
guard the override, e.g.:

	if (dpaa_bus.svr_ver == SVR_LS1043A_FAMILY) {
		dpaa_bus.max_push_rxq_num = 0;
	} else {
		penv = getenv("DPAA_PUSH_QUEUES_NUMBER");
		...
	}

If the override is intended to apply to LS1043A, please say so in
the commit message.


[PATCH v1 09/17] net/dpaa: fix device remove

The RTE_ETH_DEV_UNUSED guard against double close/release is
correct, and "int ret = 0" is now required because the assignment
is conditional.

Warning: the patch also drops the dpaa_finish() call, which the
commit message does not mention. dpaa_finish() is registered as a
destructor (RTE_FINI_PRIO(dpaa_finish, 103)), so it still runs at
process exit, but the previous explicit call ran at last-device
remove (!dpaa_valid_dev). Removing it moves the global teardown
(dpaa_fm_term, per-queue portal close, is_global_init = 0) from
last-remove time to exit time. For run-then-exit this is
equivalent, but for remove-all-then-continue (e.g. re-probe in a
running process) is_global_init now stays 1 and portals stay open
until exit. Please call this change out in the commit message and
confirm re-probe still behaves.


[PATCH v1 10/17] net/dpaa: fix invalid check on interrupt unregister

The fix is correct: rte_intr_callback_unregister() returns the
number of callbacks removed (>=1) on success and a negative value
on failure, so "if (ret)" logged a spurious warning on every
successful unregister; "if (ret < 0)" is right.

Warning: the Fixes: tag points at

	9c99878aa1 ("log: introduce logtype register macro")

which is unrelated to interrupt unregistration and looks like a
copy/paste error. An incorrect Fixes: will misdirect the stable
backport -- please point it at the commit that introduced the
"if (ret)" check.


[PATCH v1 11/17] net/dpaa: fix coverity reported issues

Both fixes are correct. The dpaa_qdma.c bound (num == 0 ||
num > FSL_QDMA_SG_MAX_ENTRY) prevents the desc_ssge[num - 1]
underflow when pending_num is 0. The dpaa_flow.c port_handle
close fixes the continue-path leak without introducing a
double-close: the success path nulls port_handle inside
dpaa_fm_deconfig(), and the error/continue paths legitimately
leave it set for the new guard to close.

Info: this bundles two unrelated Coverity fixes across
drivers/dma/dpaa and drivers/net/dpaa under a single net/dpaa
Fixes: tag (e7665de896). The qdma OOB almost certainly has a
different origin commit. Splitting into two patches (or at least
carrying the correct Fixes: for the qdma change) would make the
stable backport cleaner.


[PATCH v1 13/17] net/dpaa: fix xstat string typos in BMI stats table

Both typo fixes are correct.

Info: the very next entry on the same table is also misspelled --
"rx_buf_diallocate" (fmbm_rbdc, "Rx Buffers Deallocate Counter")
should be "rx_buf_deallocate". Worth fixing in the same pass since
this patch is specifically cleaning up these names.

      parent reply	other threads:[~2026-06-18 15:56 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 01/17] bus/dpaa: fix error handling of qman_create_fq Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 02/17] bus/dpaa: fix fqid endianness Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 03/17] bus/dpaa: fix error handling in qman_query Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 04/17] net/dpaa: fix modify cgr to use index Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 05/17] net/dpaa/fmlib: add null check in scheme delete Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 06/17] bus/dpaa: fix BMI RX stats register offset Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 07/17] bus/dpaa: fix fd leak for ccsr mmap Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 08/17] bus/dpaa: fix device probe issue Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 09/17] net/dpaa: fix device remove Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 10/17] net/dpaa: fix invalid check on interrupt unregister Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 11/17] net/dpaa: fix coverity reported issues Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 12/17] net/dpaa: fix xstat name for tx undersized counter Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 13/17] net/dpaa: fix xstat string typos in BMI stats table Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 14/17] net/dpaa: remove duplicate ptype entries Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 15/17] net/dpaa: fix wrong buffer in xstats get by id Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 16/17] net/dpaa: fix null l3_len check in checksum offload Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 17/17] net/dpaa: fix mbuf leak in SG fd creation Hemant Agrawal
2026-06-18 15:56 ` Stephen Hemminger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260618085606.46b295ba@phoenix.local \
    --to=stephen@networkplumber.org \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.