patch 'net/sfc: avoid speed reset when setting FEC in started state' has been queued to stable release 25.11.1

Kevin Traynor ktraynor at redhat.com
Thu Feb 26 14:08:38 CET 2026


Hi,

FYI, your patch has been queued to stable release 25.11.1

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

Thanks.

Kevin

---
>From 10777e6cedd625e06ee3ec22bbd6fe9abb2efdcd Mon Sep 17 00:00:00 2001
From: Ivan Malov <ivan.malov at arknetworks.am>
Date: Tue, 30 Dec 2025 01:35:24 +0400
Subject: [PATCH] net/sfc: avoid speed reset when setting FEC in started state

[ upstream commit 77bb34e047e3c6ddbe2c8c1d78d349f46a484325 ]

The 'current' mask of PHY capabilities in libefx indicates autonegotiation
regardless of whether the last invocation of 'efx_phy_adv_cap_set' enabled
or disabled it. The port start code is aware of this and pays attention to
preserve the existing setting when making 'efx_phy_adv_cap_set' invocation.

FEC set method uses the 'current' mask as a base for the new value and may
thus reset fixed speed to autonegotiated. Fix it to keep the speed setting.

Fixes: 5efa8fc1cfc0 ("net/sfc: support FEC feature")

Signed-off-by: Ivan Malov <ivan.malov at arknetworks.am>
Reviewed-by: Andy Moreton <andy.moreton at amd.com>
---
 drivers/net/sfc/sfc_ethdev.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index 99141bdda5..6d2349a999 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -2858,6 +2858,11 @@ sfc_fec_set(struct rte_eth_dev *dev, uint32_t fec_capa)
 		efx_phy_adv_cap_get(sa->nic, EFX_PHY_CAP_CURRENT,
 				    &updated_caps);
-		updated_caps = updated_caps & ~EFX_PHY_CAP_FEC_MASK;
-		updated_caps |= efx_fec_caps;
+
+		/* Keep pause capabilities set by efx_mac_fcntl_set(). */
+		updated_caps = (updated_caps & EFX_PHY_CAP_PAUSE_MASK) |
+			       (port->phy_adv_cap & ~EFX_PHY_CAP_PAUSE_MASK);
+
+		updated_caps = (updated_caps & ~EFX_PHY_CAP_FEC_MASK) |
+			       (efx_fec_caps & EFX_PHY_CAP_FEC_MASK);
 
 		rc = efx_phy_adv_cap_set(sa->nic, updated_caps);
-- 
2.53.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-02-26 10:16:48.523508957 +0000
+++ 0036-net-sfc-avoid-speed-reset-when-setting-FEC-in-starte.patch	2026-02-26 10:16:46.943459203 +0000
@@ -1 +1 @@
-From 77bb34e047e3c6ddbe2c8c1d78d349f46a484325 Mon Sep 17 00:00:00 2001
+From 10777e6cedd625e06ee3ec22bbd6fe9abb2efdcd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 77bb34e047e3c6ddbe2c8c1d78d349f46a484325 ]
+
@@ -15 +16,0 @@
-Cc: stable at dpdk.org



More information about the stable mailing list