* [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers
@ 2026-06-18 14:11 Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 01/17] bus/dpaa: fix error handling of qman_create_fq Hemant Agrawal
` (17 more replies)
0 siblings, 18 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev
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(-)
--
2.43.0
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v1 01/17] bus/dpaa: fix error handling of qman_create_fq
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 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 02/17] bus/dpaa: fix fqid endianness Hemant Agrawal
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
Fix the error handling path in qman_create_fq() to properly
return error codes instead of silently ignoring failures.
Fixes: c47ff048b9 ("bus/dpaa: add QMAN driver core routines")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/qbman/qman.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c
index 5534e1846c..9a99eb9785 100644
--- a/drivers/bus/dpaa/base/qbman/qman.c
+++ b/drivers/bus/dpaa/base/qbman/qman.c
@@ -1579,6 +1579,9 @@ int qman_create_fq(u32 fqid, u32 flags, struct qman_fq *fq)
err:
if (flags & QMAN_FQ_FLAG_DYNAMIC_FQID)
qman_release_fqid(fqid);
+#ifdef CONFIG_FSL_QMAN_FQ_LOOKUP
+ clear_fq_table_entry(fq->key);
+#endif
return -EIO;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 02/17] bus/dpaa: fix fqid endianness
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 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 03/17] bus/dpaa: fix error handling in qman_query Hemant Agrawal
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
In qman_fq_flow_control(), the fqid field in the management
command was set using the host-endian fqid instead of the
pre-converted big-endian fqid_be. Fix it to use fqid_be
consistent with all other enqueue paths.
Fixes: c47ff048b9 ("bus/dpaa: add QMAN driver core routines")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/qbman/qman.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c
index 9a99eb9785..2da1b3e3f7 100644
--- a/drivers/bus/dpaa/base/qbman/qman.c
+++ b/drivers/bus/dpaa/base/qbman/qman.c
@@ -1921,7 +1921,7 @@ int qman_fq_flow_control(struct qman_fq *fq, int xon)
goto out;
}
mcc = qm_mc_start(&p->p);
- mcc->alterfq.fqid = fq->fqid;
+ mcc->alterfq.fqid = fq->fqid_be;
mcc->alterfq.count = 0;
myverb = xon ? QM_MCC_VERB_ALTER_FQXON : QM_MCC_VERB_ALTER_FQXOFF;
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 03/17] bus/dpaa: fix error handling in qman_query
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 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 04/17] net/dpaa: fix modify cgr to use index Hemant Agrawal
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
Optimize error handling in qman_query() to avoid redundant
checks and properly propagate error codes.
Fixes: 06268e2cb1 ("bus/dpaa: query queue frame count support")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/qbman/qman.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c
index 2da1b3e3f7..d289df2d33 100644
--- a/drivers/bus/dpaa/base/qbman/qman.c
+++ b/drivers/bus/dpaa/base/qbman/qman.c
@@ -1955,11 +1955,11 @@ int qman_query_fq(struct qman_fq *fq, struct qm_fqd *fqd)
cpu_relax();
DPAA_ASSERT((mcr->verb & QM_MCR_VERB_MASK) == QM_MCR_VERB_QUERYFQ);
res = mcr->result;
- if (res == QM_MCR_RESULT_OK)
- *fqd = mcr->queryfq.fqd;
- hw_fqd_to_cpu(fqd);
if (res != QM_MCR_RESULT_OK)
return -EIO;
+
+ *fqd = mcr->queryfq.fqd;
+ hw_fqd_to_cpu(fqd);
return 0;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 04/17] net/dpaa: fix modify cgr to use index
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (2 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 03/17] bus/dpaa: fix error handling in qman_query Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 05/17] net/dpaa/fmlib: add null check in scheme delete Hemant Agrawal
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
In dpaa_modify_cgr(), the code was always using the pointer to
the first CGR element instead of indexing by the queue index.
Fix it to use the correct CGR entry by index.
Fixes: 62f53995ca ("net/dpaa: add frame count based tail drop with CGR")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 9f976d179b..424458857e 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1304,7 +1304,7 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
rxq->nb_desc = nb_desc;
/* Enable tail drop with cgr on this queue */
qm_cgr_cs_thres_set64(&cgr_opts.cgr.cs_thres, nb_desc, 0);
- ret = qman_modify_cgr(dpaa_intf->cgr_rx, 0, &cgr_opts);
+ ret = qman_modify_cgr(&dpaa_intf->cgr_rx[queue_idx], 0, &cgr_opts);
if (ret) {
DPAA_PMD_WARN(
"rx taildrop modify fail on fqid %d (ret=%d)",
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 05/17] net/dpaa/fmlib: add null check in scheme delete
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (3 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 04/17] net/dpaa: fix modify cgr to use index Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 06/17] bus/dpaa: fix BMI RX stats register offset Hemant Agrawal
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Prashant Gupta
From: Prashant Gupta <prashant.gupta_3@nxp.com>
Add a null pointer check before dereferencing the scheme handle
in FM_PCD_MatchTableSchemeDelete() to prevent potential null
pointer dereference.
Fixes: 663ff698e3 ("net/dpaa: support VSP in fmlib")
Cc: stable@dpdk.org
Signed-off-by: Prashant Gupta <prashant.gupta_3@nxp.com>
---
drivers/net/dpaa/fmlib/fm_lib.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/dpaa/fmlib/fm_lib.c b/drivers/net/dpaa/fmlib/fm_lib.c
index b35feba004..65a818372e 100644
--- a/drivers/net/dpaa/fmlib/fm_lib.c
+++ b/drivers/net/dpaa/fmlib/fm_lib.c
@@ -305,6 +305,9 @@ fm_pcd_kg_scheme_delete(t_handle h_scheme)
_fml_dbg("Calling...");
+ if (p_dev == NULL)
+ return E_NO_DEVICE;
+
p_pcd_dev = (t_device *)p_dev->h_user_priv;
id.obj = UINT_TO_PTR(p_dev->id);
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 06/17] bus/dpaa: fix BMI RX stats register offset
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (4 preceding siblings ...)
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 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 07/17] bus/dpaa: fix fd leak for ccsr mmap Hemant Agrawal
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Jun Yang
From: Jun Yang <jun.yang@nxp.com>
Fix incorrect register offset for BMI RX statistics counters
in the fman.h header. The wrong offset caused incorrect stats
values to be reported.
Fixes: 0095306cdb ("bus/dpaa: add FMan node")
Cc: stable@dpdk.org
Signed-off-by: Jun Yang <jun.yang@nxp.com>
---
drivers/bus/dpaa/include/fman.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/bus/dpaa/include/fman.h b/drivers/bus/dpaa/include/fman.h
index c33fe81516..6e3abf1b50 100644
--- a/drivers/bus/dpaa/include/fman.h
+++ b/drivers/bus/dpaa/include/fman.h
@@ -2,7 +2,7 @@
*
* Copyright 2010-2012 Freescale Semiconductor, Inc.
* All rights reserved.
- * Copyright 2019-2024 NXP
+ * Copyright 2019-2026 NXP
*
*/
@@ -263,8 +263,8 @@ struct rx_bmi_regs {
/**< Buffer Manager pool Information-*/
uint32_t fmbm_acnt[FMAN_PORT_MAX_EXT_POOLS_NUM];
/**< Allocate Counter-*/
- uint32_t reserved0120[16];
- /**< 0x130/0x140 - 0x15F reserved -*/
+ uint32_t reserved0140[8];
+ /**< 0x140 - 0x15F reserved -*/
uint32_t fmbm_rcgm[FMAN_PORT_CG_MAP_NUM];
/**< Congestion Group Map*/
uint32_t fmbm_mpd; /**< BM Pool Depletion */
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 07/17] bus/dpaa: fix fd leak for ccsr mmap
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (5 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 06/17] bus/dpaa: fix BMI RX stats register offset Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 08/17] bus/dpaa: fix device probe issue Hemant Agrawal
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Jun Yang
The CCSR file descriptor was kept open after mmap() was done.
Close the fd immediately after mmap() as it is no longer needed,
preventing a file descriptor leak.
Fixes: 8e253882cd ("bus/dpaa: support interrupt portal based fd")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Jun Yang <jun.yang@nxp.com>
---
drivers/bus/dpaa/base/qbman/bman_driver.c | 3 ++-
drivers/bus/dpaa/base/qbman/qman_driver.c | 6 +++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/bus/dpaa/base/qbman/bman_driver.c b/drivers/bus/dpaa/base/qbman/bman_driver.c
index 23e44ac10b..71a2028383 100644
--- a/drivers/bus/dpaa/base/qbman/bman_driver.c
+++ b/drivers/bus/dpaa/base/qbman/bman_driver.c
@@ -145,7 +145,7 @@ void bman_thread_irq(void)
int bman_init_ccsr(const struct device_node *node)
{
- static int ccsr_map_fd;
+ int ccsr_map_fd;
uint64_t phys_addr;
const uint32_t *bman_addr;
uint64_t regs_size;
@@ -169,6 +169,7 @@ int bman_init_ccsr(const struct device_node *node)
bman_ccsr_map = mmap(NULL, regs_size, PROT_READ |
PROT_WRITE, MAP_SHARED, ccsr_map_fd, phys_addr);
+ close(ccsr_map_fd);
if (bman_ccsr_map == MAP_FAILED) {
pr_err("Can not map BMan CCSR base Bman: "
"0x%x Phys: 0x%" PRIx64 " size 0x%" PRIu64,
diff --git a/drivers/bus/dpaa/base/qbman/qman_driver.c b/drivers/bus/dpaa/base/qbman/qman_driver.c
index 3bab8b8337..45b094e0c6 100644
--- a/drivers/bus/dpaa/base/qbman/qman_driver.c
+++ b/drivers/bus/dpaa/base/qbman/qman_driver.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
*
* Copyright 2008-2016 Freescale Semiconductor Inc.
- * Copyright 2017-2022, 2025 NXP
+ * Copyright 2017-2022, 2025-2026 NXP
*
*/
@@ -270,7 +270,7 @@ int qman_global_init(void)
const struct device_node *dt_node;
size_t lenp;
const u32 *chanid;
- static int ccsr_map_fd;
+ int ccsr_map_fd;
const uint32_t *qman_addr;
uint64_t phys_addr;
uint64_t regs_size;
@@ -358,9 +358,9 @@ int qman_global_init(void)
pr_err("Can not open /dev/mem for qman ccsr map\n");
return ccsr_map_fd;
}
-
qman_ccsr_map = mmap(NULL, regs_size, PROT_READ | PROT_WRITE,
MAP_SHARED, ccsr_map_fd, phys_addr);
+ close(ccsr_map_fd);
if (qman_ccsr_map == MAP_FAILED) {
pr_err("Can not map qman ccsr base\n");
return -EINVAL;
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 08/17] bus/dpaa: fix device probe issue
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (6 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 07/17] bus/dpaa: fix fd leak for ccsr mmap Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 09/17] net/dpaa: fix device remove Hemant Agrawal
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Gagandeep Singh
From: Gagandeep Singh <g.singh@nxp.com>
Remove an unintended early return in the LS1043 SoC version
check that was preventing device probing from completing
successfully on LS1043 platforms.
Fixes: 164e9e13e5 ("bus/dpaa: enhance SoC version")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/bus/dpaa/dpaa_bus.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index ee467b94d5..0ed617c72f 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
*
- * Copyright 2017-2025 NXP
+ * Copyright 2017-2026 NXP
*
*/
/* System headers */
@@ -725,10 +725,8 @@ rte_dpaa_bus_scan(void)
}
/* Disabling the default push mode for LS1043A */
- if (dpaa_bus.svr_ver == SVR_LS1043A_FAMILY) {
+ if (dpaa_bus.svr_ver == SVR_LS1043A_FAMILY)
dpaa_bus.max_push_rxq_num = 0;
- return 0;
- }
penv = getenv("DPAA_PUSH_QUEUES_NUMBER");
if (penv)
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 09/17] net/dpaa: fix device remove
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (7 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 08/17] bus/dpaa: fix device probe issue Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 10/17] net/dpaa: fix invalid check on interrupt unregister Hemant Agrawal
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Gagandeep Singh
From: Gagandeep Singh <g.singh@nxp.com>
Add a check to avoid closing a device that is already closed,
preventing a double-close condition during device removal.
Fixes: 78ea4b4fcb ("bus/dpaa: improve cleanup")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 424458857e..9a9c5ee817 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -2674,18 +2674,19 @@ static int
rte_dpaa_remove(struct rte_dpaa_device *dpaa_dev)
{
struct rte_eth_dev *eth_dev;
- int ret;
+ int ret = 0;
PMD_INIT_FUNC_TRACE();
eth_dev = dpaa_dev->eth_dev;
- dpaa_eth_dev_close(eth_dev);
- ret = rte_eth_dev_release_port(eth_dev);
+ if (eth_dev->state != RTE_ETH_DEV_UNUSED) {
+ dpaa_eth_dev_close(eth_dev);
+ ret = rte_eth_dev_release_port(eth_dev);
+ }
dpaa_valid_dev--;
- if (!dpaa_valid_dev) {
+ if (!dpaa_valid_dev)
rte_mempool_free(dpaa_tx_sg_pool);
- dpaa_finish();
- }
+
return ret;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 10/17] net/dpaa: fix invalid check on interrupt unregister
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (8 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 09/17] net/dpaa: fix device remove Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 11/17] net/dpaa: fix coverity reported issues Hemant Agrawal
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Gagandeep Singh
From: Gagandeep Singh <g.singh@nxp.com>
Fix an incorrect condition check when unregistering the interrupt
handler during device stop. The check was using the wrong
comparison which could cause the unregister to be skipped.
Fixes: 9c99878aa1 ("log: introduce logtype register macro")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 9a9c5ee817..c143e66f77 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -559,7 +559,7 @@ static int dpaa_eth_dev_close(struct rte_eth_dev *dev)
}
ret = rte_intr_callback_unregister(intr_handle,
dpaa_interrupt_handler, (void *)dev);
- if (ret) {
+ if (ret < 0) {
DPAA_PMD_WARN("%s: unregister interrupt failed(%d)",
dev->data->name, ret);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 11/17] net/dpaa: fix coverity reported issues
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (9 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 10/17] net/dpaa: fix invalid check on interrupt unregister Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 12/17] net/dpaa: fix xstat name for tx undersized counter Hemant Agrawal
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable, Vanshika Shukla
From: Vanshika Shukla <vanshika.shukla@nxp.com>
Fix several issues reported by Coverity static analysis:
- Add missing null checks in dpaa_flow.c
- Fix potential resource leak in dpaa_qdma.c
Fixes: e7665de896 ("net/dpaa: fix resource leak")
Cc: stable@dpdk.org
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com>
---
drivers/dma/dpaa/dpaa_qdma.c | 7 ++++++-
drivers/net/dpaa/dpaa_flow.c | 4 ++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/dpaa/dpaa_qdma.c b/drivers/dma/dpaa/dpaa_qdma.c
index 74e23d2ee5..faf4a7bafe 100644
--- a/drivers/dma/dpaa/dpaa_qdma.c
+++ b/drivers/dma/dpaa/dpaa_qdma.c
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2021-2024 NXP
+ * Copyright 2021-2026 NXP
*/
#include <bus_dpaa_driver.h>
@@ -827,6 +827,11 @@ fsl_qdma_enqueue_desc_sg(struct fsl_qdma_queue *fsl_queue)
}
}
+ if (num == 0 || num > FSL_QDMA_SG_MAX_ENTRY) {
+ DPAA_QDMA_ERR("Invalid scatter-gather entry count: num=%u", num);
+ return -EINVAL;
+ }
+
ft->desc_ssge[num - 1].final = 1;
ft->desc_dsge[num - 1].final = 1;
csgf_src->length = total_len;
diff --git a/drivers/net/dpaa/dpaa_flow.c b/drivers/net/dpaa/dpaa_flow.c
index 417b9b6fbb..f21950f64d 100644
--- a/drivers/net/dpaa/dpaa_flow.c
+++ b/drivers/net/dpaa/dpaa_flow.c
@@ -81,6 +81,10 @@ static void fm_prev_cleanup(void)
devid = fm_model.device_order[i];
/* FM Port Open */
fm_model.fm_port_params[devid].h_fm = fm_info.fman_handle;
+ if (dpaa_intf.port_handle) {
+ fm_port_close(dpaa_intf.port_handle);
+ dpaa_intf.port_handle = NULL;
+ }
dpaa_intf.port_handle =
fm_port_open(&fm_model.fm_port_params[devid]);
dpaa_intf.scheme_handle[0] = create_device(fm_info.pcd_handle,
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 12/17] net/dpaa: fix xstat name for tx undersized counter
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (10 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 11/17] net/dpaa: fix coverity reported issues Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 13/17] net/dpaa: fix xstat string typos in BMI stats table Hemant Agrawal
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
The xstat entry mapping to 'tund' (TX undersized) was incorrectly
labeled as 'rx_undersized'. Fix the prefix to 'tx_undersized'.
Fixes: b21ed3e2a1 ("net/dpaa: support extended statistics")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index c143e66f77..3d3f2773a1 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -125,7 +125,7 @@ static const struct rte_dpaa_xstats_name_off dpaa_xstats_strings[] = {
offsetof(struct dpaa_if_stats, terr)},
{"tx_vlan_frame",
offsetof(struct dpaa_if_stats, tvlan)},
- {"rx_undersized",
+ {"tx_undersized",
offsetof(struct dpaa_if_stats, tund)},
{"rx_frame_counter",
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rfrc)},
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 13/17] net/dpaa: fix xstat string typos in BMI stats table
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (11 preceding siblings ...)
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 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 14/17] net/dpaa: remove duplicate ptype entries Hemant Agrawal
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
Fix two issues in the xstats name table:
- 'rx_frame_discrad_count' is a misspelling, correct to
'rx_frame_discard_count'
- 'rx_out_of_buffer_discard ' has a trailing space, remove it
Fixes: d2536b006d ("bus/dpaa: add port buffer manager stats")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 3d3f2773a1..921566123d 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -135,11 +135,11 @@ static const struct rte_dpaa_xstats_name_off dpaa_xstats_strings[] = {
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rlfc)},
{"rx_filter_frames_count",
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rffc)},
- {"rx_frame_discrad_count",
+ {"rx_frame_discard_count",
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rfdc)},
{"rx_frame_list_dma_err_count",
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rfldec)},
- {"rx_out_of_buffer_discard ",
+ {"rx_out_of_buffer_discard",
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rodc)},
{"rx_buf_diallocate",
offsetof(struct dpaa_if_rx_bmi_stats, fmbm_rbdc)},
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 14/17] net/dpaa: remove duplicate ptype entries
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (12 preceding siblings ...)
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 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 15/17] net/dpaa: fix wrong buffer in xstats get by id Hemant Agrawal
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
RTE_PTYPE_L4_TCP and RTE_PTYPE_L4_UDP were listed twice in the
supported ptypes array returned by dpaa_supported_ptypes_get().
Remove the duplicate entries.
Fixes: ec503d8fa7 ("net/dpaa: update supported ptypes")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 921566123d..eaeb4221c9 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -406,8 +406,6 @@ dpaa_supported_ptypes_get(struct rte_eth_dev *dev, size_t *no_of_elements)
RTE_PTYPE_L4_TCP,
RTE_PTYPE_L4_UDP,
RTE_PTYPE_L4_FRAG,
- RTE_PTYPE_L4_TCP,
- RTE_PTYPE_L4_UDP,
RTE_PTYPE_L4_SCTP,
RTE_PTYPE_TUNNEL_ESP,
RTE_PTYPE_TUNNEL_GRE,
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 15/17] net/dpaa: fix wrong buffer in xstats get by id
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (13 preceding siblings ...)
2026-06-18 14:11 ` [PATCH v1 14/17] net/dpaa: remove duplicate ptype entries Hemant Agrawal
@ 2026-06-18 14:11 ` Hemant Agrawal
2026-06-18 14:11 ` [PATCH v1 16/17] net/dpaa: fix null l3_len check in checksum offload Hemant Agrawal
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
In dpaa_xstats_get_by_id(), fman_if_bmi_stats_get_all() was called
with 'values' (the output array) instead of 'values_copy' (the
scratch buffer). This caused the BMI stats to overwrite already
computed xstat values and then the subsequent loop would copy
garbage from values_copy into the output.
Pass 'values_copy' as intended so that BMI stats are fetched into
the scratch buffer and then correctly indexed into 'values'.
Fixes: d2536b006d ("bus/dpaa: add port buffer manager stats")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index eaeb4221c9..a221406cbf 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -928,7 +928,7 @@ dpaa_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids,
values[i] =
values_copy[dpaa_xstats_strings[i].offset / 8];
- fman_if_bmi_stats_get_all(dev->process_private, values);
+ fman_if_bmi_stats_get_all(dev->process_private, values_copy);
for (j = 0; i < stat_cnt; i++, j++)
values[i] = values_copy[j];
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 16/17] net/dpaa: fix null l3_len check in checksum offload
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (14 preceding siblings ...)
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 ` 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 ` [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Stephen Hemminger
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
In dpaa_checksum(), if mbuf->l3_len is zero the L4 header pointer
calculation (l3_hdr + mbuf->l3_len) will point to the start of the
L3 header rather than the L4 header, leading to incorrect checksum
computation on a corrupt or uninitialized packet. Add an early
return guard when l3_len is zero.
Fixes: 5a8cf1bef7 ("net/dpaa: support checksum offload")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_rxtx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index c5e393159a..1cda68e5af 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -377,6 +377,8 @@ static inline void dpaa_checksum(struct rte_mbuf *mbuf)
struct rte_ipv6_hdr *ipv6_hdr = (struct rte_ipv6_hdr *)l3_hdr;
DPAA_DP_LOG(DEBUG, "Calculating checksum for mbuf: %p", mbuf);
+ if (mbuf->l3_len == 0)
+ return;
if (((mbuf->packet_type & RTE_PTYPE_L3_MASK) == RTE_PTYPE_L3_IPV4) ||
((mbuf->packet_type & RTE_PTYPE_L3_MASK) ==
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 17/17] net/dpaa: fix mbuf leak in SG fd creation
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (15 preceding siblings ...)
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 ` Hemant Agrawal
2026-06-18 15:56 ` [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Stephen Hemminger
17 siblings, 0 replies; 19+ messages in thread
From: Hemant Agrawal @ 2026-06-18 14:11 UTC (permalink / raw)
To: stephen, david.marchand, dev; +Cc: stable
In dpaa_eth_mbuf_to_sg_fd(), when the allocated temp mbuf does not
have sufficient space for the SG entries, the function returned -1
without freeing 'temp', causing a memory leak. Free 'temp' before
returning the error.
Fixes: 8cffdcbe85 ("net/dpaa: support scattered Rx")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_rxtx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index 1cda68e5af..f2011ceebb 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -990,6 +990,7 @@ dpaa_eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf,
if (temp->buf_len < ((mbuf->nb_segs * sizeof(struct qm_sg_entry))
+ temp->data_off)) {
DPAA_PMD_ERR("Insufficient space in mbuf for SG entries");
+ rte_pktmbuf_free(temp);
return -1;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers
2026-06-18 14:11 [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Hemant Agrawal
` (16 preceding siblings ...)
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
17 siblings, 0 replies; 19+ messages in thread
From: Stephen Hemminger @ 2026-06-18 15:56 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: david.marchand, dev
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.
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-06-18 15:56 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH v1 00/17] net/dpaa: bug fixes for bus, net and fmlib drivers Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox