diff mbox series

[net-next,04/10] net: phylink: remove pause mode ethtool setting for fixed links

Message ID E1j2zhJ-0003XT-V5@rmk-PC.armlinux.org.uk
State Accepted
Delegated to: David Miller
Headers show
Series Pause updates for phylib and phylink | expand

Commit Message

Russell King (Oracle) Feb. 15, 2020, 3:49 p.m. UTC
Remove the ability for ethtool -A to change the pause settings for
fixed links; if this is really required, we can reinstate it later.

Andrew Lunn agrees: "So I think it is safe to not implement ethtool
-A, at least until somebody has a real use case for it."

Lets avoid making things too complex for use cases that aren't being
used.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
 drivers/net/phy/phylink.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

Comments

Andrew Lunn Feb. 15, 2020, 6:57 p.m. UTC | #1
On Sat, Feb 15, 2020 at 03:49:37PM +0000, Russell King wrote:
> Remove the ability for ethtool -A to change the pause settings for
> fixed links; if this is really required, we can reinstate it later.
> 
> Andrew Lunn agrees: "So I think it is safe to not implement ethtool
> -A, at least until somebody has a real use case for it."
> 
> Lets avoid making things too complex for use cases that aren't being
> used.
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
diff mbox series

Patch

diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index 70b9a143db84..de7b7499ae38 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -1373,6 +1373,9 @@  int phylink_ethtool_set_pauseparam(struct phylink *pl,
 
 	ASSERT_RTNL();
 
+	if (pl->cur_link_an_mode == MLO_AN_FIXED)
+		return -EOPNOTSUPP;
+
 	if (!phylink_test(pl->supported, Pause) &&
 	    !phylink_test(pl->supported, Asym_Pause))
 		return -EOPNOTSUPP;
@@ -1399,18 +1402,8 @@  int phylink_ethtool_set_pauseparam(struct phylink *pl,
 				   pause->tx_pause);
 	} else if (!test_bit(PHYLINK_DISABLE_STOPPED,
 			     &pl->phylink_disable_state)) {
-		switch (pl->cur_link_an_mode) {
-		case MLO_AN_FIXED:
-			/* Should we allow fixed links to change against the config? */
-			phylink_resolve_flow(pl, config);
-			phylink_mac_config(pl, config);
-			break;
-
-		case MLO_AN_INBAND:
-			phylink_mac_config(pl, config);
-			phylink_mac_an_restart(pl);
-			break;
-		}
+		phylink_mac_config(pl, &pl->link_config);
+		phylink_mac_an_restart(pl);
 	}
 
 	return 0;