Re: [PATCH net V2 2/2] net: lan743x: support WOL in MAC even when PHY does not

From: Andrew Lunn
Date: Wed Mar 20 2024 - 18:53:27 EST


> + if (netdev->phydev) {
> + ret = phy_ethtool_set_wol(netdev->phydev, wol);
> + if (ret != -EOPNOTSUPP && ret != 0)
> + return ret;

I'm not sure this condition is correct.

If there is an error, and the error is not EOPNOTSUPP, you want to
report that error. However, if the PHY can support the WoL
configuration, it will return 0, and this function should exit, WoL in
the MAC is not needed. And doing WoL in the PHY consumes less power
since you can suspend the MAC.

So i think it should simply be:

> + if (ret != -EOPNOTSUPP)
> + return ret;

Do you have a board with this MAC with a PHY which does have some WoL
support. Could you test PHY WoL is used when appropriate?

Andrew