patch 'net/txgbe: keep link down after device close' has been queued to stable release 21.11.6

Kevin Traynor ktraynor at redhat.com
Thu Nov 2 14:11:27 CET 2023


Hi,

FYI, your patch has been queued to stable release 21.11.6

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

Thanks.

Kevin

---
>From a3d1c5eb0801284c0680c3de7fea48c8dd178fbe Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu at trustnetic.com>
Date: Thu, 28 Sep 2023 17:47:54 +0800
Subject: [PATCH] net/txgbe: keep link down after device close

[ upstream commit 409a08c34fd20a25dd209438f52cb38ace081b19 ]

When the port is closed, hardware is reset to power on. And
txgbe_dev_stop() is just returned 0 to avoid secondary calls,
so that the link led remains on. Fix this bug by adding to turn
off the copper/laser.

Fixes: e0d876ef6bbc ("net/txgbe: support device stop and close")

Signed-off-by: Jiawen Wu <jiawenwu at trustnetic.com>
---
 drivers/net/txgbe/txgbe_ethdev.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index 3b1baf7c48..2a3d9d9d5e 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -1883,5 +1883,5 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
 
 	if (hw->adapter_stopped)
-		return 0;
+		goto out;
 
 	PMD_INIT_FUNC_TRACE();
@@ -1902,12 +1902,4 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
 		vfinfo[vf].clear_to_send = false;
 
-	if (hw->phy.media_type == txgbe_media_type_copper) {
-		/* Turn off the copper */
-		hw->phy.set_phy_power(hw, false);
-	} else {
-		/* Turn off the laser */
-		hw->mac.disable_tx_laser(hw);
-	}
-
 	txgbe_dev_clear_queues(dev);
 
@@ -1940,4 +1932,14 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
 	hw->dev_start = false;
 
+out:
+	/* close phy to prevent reset in dev_close from restarting physical link */
+	if (hw->phy.media_type == txgbe_media_type_copper) {
+		/* Turn off the copper */
+		hw->phy.set_phy_power(hw, false);
+	} else {
+		/* Turn off the laser */
+		hw->mac.disable_tx_laser(hw);
+	}
+
 	return 0;
 }
-- 
2.41.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-11-02 13:09:41.393952837 +0000
+++ 0021-net-txgbe-keep-link-down-after-device-close.patch	2023-11-02 13:09:40.804163307 +0000
@@ -1 +1 @@
-From 409a08c34fd20a25dd209438f52cb38ace081b19 Mon Sep 17 00:00:00 2001
+From a3d1c5eb0801284c0680c3de7fea48c8dd178fbe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 409a08c34fd20a25dd209438f52cb38ace081b19 ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index e789e34c01..2dad820cb5 100644
+index 3b1baf7c48..2a3d9d9d5e 100644
@@ -23 +24 @@
-@@ -1930,5 +1930,5 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
+@@ -1883,5 +1883,5 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
@@ -30 +31 @@
-@@ -1954,12 +1954,4 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
+@@ -1902,12 +1902,4 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
@@ -43 +44 @@
-@@ -1992,4 +1984,14 @@ txgbe_dev_stop(struct rte_eth_dev *dev)
+@@ -1940,4 +1932,14 @@ txgbe_dev_stop(struct rte_eth_dev *dev)



More information about the stable mailing list