* [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 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.