Hi Andrew,
On 10/06/24 6:16 pm, Andrew Lunn wrote:
@@ -3294,22 +3292,15 @@ static int macb_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
/* Pass the order to phylink layer */
ret = phylink_ethtool_set_wol(bp->phylink, wol);
- /* Don't manage WoL on MAC if handled by the PHY
- * or if there's a failure in talking to the PHY
- */
- if (!ret || ret != -EOPNOTSUPP)
+ /* Don't manage WoL on MAC if there's a failure in talking to the PHY */
+ if (!!ret && ret != -EOPNOTSUPP)
return ret;
The comment is wrong. You could be happily talking to the PHY, it just
does not support what you asked it to do.
These are the 3 possible return scenarios
1. -EOPNOTSUPP. : When there is no PHY or no set_wol() in PHY driver.
2. 0 : Success
3. any error (-EINVAL, ... ) from set_wol()
we are returning in case 3.
The comment can be "Don't manage WoL on MAC, if PHY set_wol() fails"
please let me know your thoughts/comments.
🙏 vineeth