From 2a527678f9cb58f0eda090fa7f0b27fc8b1133d3 Mon Sep 17 00:00:00 2001 From: David Wu Date: Fri, 26 Aug 2022 16:54:55 +0800 Subject: [PATCH] ethernet: stmmac: stmmac_ethtool: Don't support half duplex mode for multi queue Half-Duplex can only work with single queue, return error for multi queue half duplex mode setting. Signed-off-by: David Wu Change-Id: I1ea4d9f2b9745890e4e0cee6dc2ca8afe82b2d96 --- drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c index 0c0f01f49005..7664ab0bf19d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -392,6 +392,11 @@ stmmac_ethtool_set_link_ksettings(struct net_device *dev, return 0; } + if (priv->plat->tx_queues_to_use > 1 && cmd->base.duplex == DUPLEX_HALF) { + netdev_warn(priv->dev, "Half-Duplex can only work with single queue\n"); + return -EINVAL; + } + return phylink_ethtool_ksettings_set(priv->phylink, cmd); }