patch 'net/ice: detect stopping a flow director queue twice' has been queued to stable release 23.11.3

Xueming Li xuemingl at nvidia.com
Sat Dec 7 08:59:22 CET 2024


Hi,

FYI, your patch has been queued to stable release 23.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 12/10/24. 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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=d366bfb9c814b20c4e7ae7e454117e820be7970d

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From d366bfb9c814b20c4e7ae7e454117e820be7970d Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson at intel.com>
Date: Tue, 22 Oct 2024 17:39:41 +0100
Subject: [PATCH] net/ice: detect stopping a flow director queue twice
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 7b230d43e8061bdaba02a41f601bb8e0b5dbff03 ]

If the flow-director queue is stopped at some point during the running
of an application, the shutdown procedure for the port issues an error
as it tries to stop the queue a second time, and fails to do so. We can
eliminate this error by setting the tail-register pointer to NULL on
stop, and checking for that condition in subsequent stop calls. Since
the register pointer is set on start, any restarting of the queue will
allow a stop call to progress as normal.

Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine")

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
Acked-by: Stephen Hemminger <stephen at networkplumber.org>
---
 drivers/net/ice/ice_rxtx.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 7da314217a..644d106814 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -1123,6 +1123,10 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 			    tx_queue_id);
 		return -EINVAL;
 	}
+	if (txq->qtx_tail == NULL) {
+		PMD_DRV_LOG(INFO, "TX queue %u not started", tx_queue_id);
+		return 0;
+	}
 	vsi = txq->vsi;

 	q_ids[0] = txq->reg_idx;
@@ -1137,6 +1141,7 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 	}

 	txq->tx_rel_mbufs(txq);
+	txq->qtx_tail = NULL;

 	return 0;
 }
--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-12-06 23:26:44.278953624 +0800
+++ 0004-net-ice-detect-stopping-a-flow-director-queue-twice.patch	2024-12-06 23:26:43.843044829 +0800
@@ -1 +1 @@
-From 7b230d43e8061bdaba02a41f601bb8e0b5dbff03 Mon Sep 17 00:00:00 2001
+From d366bfb9c814b20c4e7ae7e454117e820be7970d Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 7b230d43e8061bdaba02a41f601bb8e0b5dbff03 ]
@@ -15 +17,0 @@
-Cc: stable at dpdk.org
@@ -24 +26 @@
-index d2f9edc221..024d97cb46 100644
+index 7da314217a..644d106814 100644
@@ -27 +29 @@
-@@ -1139,6 +1139,10 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+@@ -1123,6 +1123,10 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
@@ -38 +40 @@
-@@ -1153,6 +1157,7 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+@@ -1137,6 +1141,7 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)


More information about the stable mailing list