[PATCH 6.18 011/122] sfc: fix deadlock in RSS config read

Greg Kroah-Hartman
2026-02-04T15:28:32Z

From: Edward Cree <ecree.xilinx@gmail.com>

[ Upstream commit 944c614b0a7afa5b87612c3fb557b95a50ad654c ]

Since cited commit, core locks the net_device's rss_lock when handling
ethtool -x command, so driver's implementation should not lock it
again. Remove the latter.

Fixes: 040cef30b5e6 ("net: ethtool: move get_rxfh callback under the rss_lock")
Reported-by: Damir Mansurov <damir.mansurov@oktetlabs.ru>
Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1126015
Suggested-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Link: https://patch.msgid.link/20260123161634.1215006-1-edward.cree@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/sfc/mcdi_filters.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/sfc/mcdi_filters.c b/drivers/net/ethernet/sfc/mcdi_filters.c
index 6ef96292909a2..3db589b90b68a 100644
--- a/drivers/net/ethernet/sfc/mcdi_filters.c
+++ b/drivers/net/ethernet/sfc/mcdi_filters.c
@@ -2182,12 +2182,7 @@ int efx_mcdi_rx_pull_rss_context_config(struct efx_nic *efx,

int efx_mcdi_rx_pull_rss_config(struct efx_nic *efx)
{
- int rc;
-
- mutex_lock(&efx->net_dev->ethtool->rss_lock);
- rc = efx_mcdi_rx_pull_rss_context_config(efx, &efx->rss_context);
- mutex_unlock(&efx->net_dev->ethtool->rss_lock);
- return rc;
+ return efx_mcdi_rx_pull_rss_context_config(efx, &efx->rss_context);
}

void efx_mcdi_rx_restore_rss_contexts(struct efx_nic *efx)
--
2.51.0