patch 'net/dpaa: fix Rx queue shutdown before init' has been queued to stable release 24.11.9

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue Oct 27 12:48:43 CET 2026


Hi,

FYI, your patch has been queued to stable release 24.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/29/26. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/2a8b78ef483070ecff63c13daf2fa6c7628d4924

Thanks.

Luca Boccassi

---
>From 2a8b78ef483070ecff63c13daf2fa6c7628d4924 Mon Sep 17 00:00:00 2001
From: Prashant Gupta <prashant.gupta_3 at nxp.com>
Date: Mon, 31 Aug 2026 12:48:25 +0530
Subject: [PATCH] net/dpaa: fix Rx queue shutdown before init

[ upstream commit ddb070d3c21e5e3b03f3c4ca749604420cdd3124 ]

The frame queue shutdown in dpaa_eth_rx_queue_setup() is too late:
the queue has already been created and initialized by dpaa_dev_init(),
so the shutdown forces a live FQ out of service and the queue no
longer receives frames.

Move the shutdown to dpaa_dev_init(), just before dpaa_rx_queue_init(),
where it cleans up a frame queue left over from a previous run as
intended.

Fixes: 0e3c389b9e4f ("bus/dpaa: do proper cleanup of frame queues on shutdown")

Signed-off-by: Prashant Gupta <prashant.gupta_3 at nxp.com>
---
 drivers/bus/dpaa/include/fsl_qman.h | 1 +
 drivers/bus/dpaa/version.map        | 1 +
 drivers/net/dpaa/dpaa_ethdev.c      | 5 +++++
 3 files changed, 7 insertions(+)

diff --git a/drivers/bus/dpaa/include/fsl_qman.h b/drivers/bus/dpaa/include/fsl_qman.h
index 25dbf72fd4c..d638551dc66 100644
--- a/drivers/bus/dpaa/include/fsl_qman.h
+++ b/drivers/bus/dpaa/include/fsl_qman.h
@@ -1894,6 +1894,7 @@ static inline void qman_release_fqid(u32 fqid)
 
 void qman_seed_fqid_range(u32 fqid, unsigned int count);
 
+__rte_internal
 int qman_shutdown_fq(u32 fqid);
 
 /**
diff --git a/drivers/bus/dpaa/version.map b/drivers/bus/dpaa/version.map
index a17d57632e1..545c89b7b9b 100644
--- a/drivers/bus/dpaa/version.map
+++ b/drivers/bus/dpaa/version.map
@@ -95,6 +95,7 @@ INTERNAL {
 	qman_retire_fq;
 	qman_set_fq_lookup_table;
 	qman_set_vdq;
+	qman_shutdown_fq;
 	qman_static_dequeue_add;
 	qman_thread_fd;
 	qman_thread_irq;
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 9cb5f0ee758..d88a6d3af60 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -2380,6 +2380,11 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 
 		vsp_id = dev_vspids[loop];
 
+		/* Clean up a frame queue left behind by a previous run
+		 * before it is initialized.
+		 */
+		qman_shutdown_fq(fqid);
+
 		if (dpaa_intf->cgr_rx)
 			dpaa_intf->cgr_rx[loop].cgrid = cgrid[loop];
 
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-10-27 11:43:54.877733549 +0000
+++ 0029-net-dpaa-fix-Rx-queue-shutdown-before-init.patch	2026-10-27 11:43:53.526059820 +0000
@@ -1 +1 @@
-From ddb070d3c21e5e3b03f3c4ca749604420cdd3124 Mon Sep 17 00:00:00 2001
+From 2a8b78ef483070ecff63c13daf2fa6c7628d4924 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ddb070d3c21e5e3b03f3c4ca749604420cdd3124 ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -20,2 +21,4 @@
- drivers/net/dpaa/dpaa_ethdev.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
+ drivers/bus/dpaa/include/fsl_qman.h | 1 +
+ drivers/bus/dpaa/version.map        | 1 +
+ drivers/net/dpaa/dpaa_ethdev.c      | 5 +++++
+ 3 files changed, 7 insertions(+)
@@ -22,0 +26,24 @@
+diff --git a/drivers/bus/dpaa/include/fsl_qman.h b/drivers/bus/dpaa/include/fsl_qman.h
+index 25dbf72fd4c..d638551dc66 100644
+--- a/drivers/bus/dpaa/include/fsl_qman.h
++++ b/drivers/bus/dpaa/include/fsl_qman.h
+@@ -1894,6 +1894,7 @@ static inline void qman_release_fqid(u32 fqid)
+ 
+ void qman_seed_fqid_range(u32 fqid, unsigned int count);
+ 
++__rte_internal
+ int qman_shutdown_fq(u32 fqid);
+ 
+ /**
+diff --git a/drivers/bus/dpaa/version.map b/drivers/bus/dpaa/version.map
+index a17d57632e1..545c89b7b9b 100644
+--- a/drivers/bus/dpaa/version.map
++++ b/drivers/bus/dpaa/version.map
+@@ -95,6 +95,7 @@ INTERNAL {
+ 	qman_retire_fq;
+ 	qman_set_fq_lookup_table;
+ 	qman_set_vdq;
++	qman_shutdown_fq;
+ 	qman_static_dequeue_add;
+ 	qman_thread_fd;
+ 	qman_thread_irq;
@@ -24 +51 @@
-index 4dc4d1f10c..4463c56601 100644
+index 9cb5f0ee758..d88a6d3af60 100644
@@ -27,11 +54 @@
-@@ -1119,9 +1119,6 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
- 	DPAA_PMD_INFO("Rx queue setup for queue index: %d fq_id (0x%x)",
- 			queue_idx, rxq->fqid);
- 
--	/* Shutdown FQ before configure */
--	qman_shutdown_fq(rxq->fqid);
--
- 	if (!fif->num_profiles) {
- 		if (dpaa_intf->bp_info && dpaa_intf->bp_info->bp &&
- 			dpaa_intf->bp_info->mp != mp) {
-@@ -2355,6 +2352,11 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
+@@ -2380,6 +2380,11 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)


More information about the stable mailing list