patch 'net/enetc: fix queue initialization' has been queued to stable release 25.11.3

Kevin Traynor ktraynor at redhat.com
Thu Jul 30 11:16:01 CEST 2026


Hi,

FYI, your patch has been queued to stable release 25.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/04/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/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/c6b06d759f21569103d84cd3bbc1755c850df85b

Thanks.

Kevin

---
>From c6b06d759f21569103d84cd3bbc1755c850df85b Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh at nxp.com>
Date: Mon, 29 Jun 2026 10:48:12 +0530
Subject: [PATCH] net/enetc: fix queue initialization

[ upstream commit b76f82be21ca55649cf3c9dc0aa3c2f6acfffda1 ]

Hardware can misbehave if the user tries to reset the consumer and
producer indexes without resetting the ring.

This patch adds the ring reset step before resetting the indexes.

Fixes: 6c9c5aadc0e0 ("net/enetc: support ENETC4 queue API")

Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
---
 drivers/net/enetc/enetc4_ethdev.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/net/enetc/enetc4_ethdev.c b/drivers/net/enetc/enetc4_ethdev.c
index df9f007473..321ac74309 100644
--- a/drivers/net/enetc/enetc4_ethdev.c
+++ b/drivers/net/enetc/enetc4_ethdev.c
@@ -1,4 +1,4 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2024 NXP
+ * Copyright 2024-2026 NXP
  */
 
@@ -280,4 +280,5 @@ enetc4_tx_queue_setup(struct rte_eth_dev *dev,
 {
 	int err;
+	uint32_t tx_data;
 	struct enetc_bdr *tx_ring;
 	struct rte_eth_dev_data *data = dev->data;
@@ -302,4 +303,8 @@ enetc4_tx_queue_setup(struct rte_eth_dev *dev,
 
 	tx_ring->ndev = dev;
+	/* reset queue */
+	tx_data = enetc4_txbdr_rd(&priv->hw.hw, tx_ring->index, ENETC_TBMR);
+	tx_data &= ~ENETC_TBMR_EN;
+	enetc4_txbdr_wr(&priv->hw.hw, tx_ring->index, ENETC_TBMR, tx_data);
 	enetc4_setup_txbdr(&priv->hw.hw, tx_ring);
 	data->tx_queues[queue_idx] = tx_ring;
@@ -428,4 +433,5 @@ enetc4_rx_queue_setup(struct rte_eth_dev *dev,
 {
 	int err = 0;
+	uint32_t rx_enable;
 	struct enetc_bdr *rx_ring;
 	struct rte_eth_dev_data *data =  dev->data;
@@ -451,4 +457,8 @@ enetc4_rx_queue_setup(struct rte_eth_dev *dev,
 
 	rx_ring->ndev = dev;
+	/* reset queue */
+	rx_enable = enetc4_rxbdr_rd(&adapter->hw.hw, rx_ring->index, ENETC_RBMR);
+	rx_enable &= ~ENETC_RBMR_EN;
+	enetc4_rxbdr_wr(&adapter->hw.hw, rx_ring->index, ENETC_RBMR, rx_enable);
 	enetc4_setup_rxbdr(&adapter->hw.hw, rx_ring, mb_pool);
 	data->rx_queues[rx_queue_id] = rx_ring;
-- 
2.55.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-07-30 10:16:02.159448261 +0100
+++ 0022-net-enetc-fix-queue-initialization.patch	2026-07-30 10:16:01.462048162 +0100
@@ -1 +1 @@
-From b76f82be21ca55649cf3c9dc0aa3c2f6acfffda1 Mon Sep 17 00:00:00 2001
+From c6b06d759f21569103d84cd3bbc1755c850df85b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b76f82be21ca55649cf3c9dc0aa3c2f6acfffda1 ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index 78eba70a08..154fc09b8f 100644
+index df9f007473..321ac74309 100644



More information about the stable mailing list