[PATCH net-next v1 1/4] net: dsa: user: Skip set_mac_eee() if support_eee() is implemented
From: Oleksij Rempel
Date: Thu Apr 24 2025 - 09:02:51 EST
Some switches with integrated PHYs, like Microchip KSZ, manage EEE
internally based on PHY advertisement and link resolution. If
ds->ops->support_eee() is implemented, assume EEE is supported
and skip requiring set_mac_eee().
Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
---
net/dsa/user.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/dsa/user.c b/net/dsa/user.c
index 804dc7dac4f2..87b78a4c1d6c 100644
--- a/net/dsa/user.c
+++ b/net/dsa/user.c
@@ -1246,14 +1246,12 @@ static int dsa_user_set_eee(struct net_device *dev, struct ethtool_keee *e)
/* If the port is using phylink managed EEE, then an unimplemented
* set_mac_eee() is permissible.
*/
- if (!phylink_mac_implements_lpi(ds->phylink_mac_ops)) {
+ if (ds->ops->set_mac_eee &&
+ !phylink_mac_implements_lpi(ds->phylink_mac_ops)) {
/* Port's PHY and MAC both need to be EEE capable */
if (!dev->phydev)
return -ENODEV;
- if (!ds->ops->set_mac_eee)
- return -EOPNOTSUPP;
-
ret = ds->ops->set_mac_eee(ds, dp->index, e);
if (ret)
return ret;
--
2.39.5