dsa: slave: eee: Allow ports to use phylink

For a port to be able to use EEE, both the MAC and the PHY must
support EEE. A phy can be provided by both a phydev or phylink. Verify
at least one of these exist, not just phydev.

Fixes: aab9c4067d ("net: dsa: Plug in PHYLINK support")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Andrew Lunn 2018-08-08 20:56:40 +02:00 committed by David S. Miller
parent ef91b6f91a
commit 1be52e97ed

View File

@ -639,7 +639,7 @@ static int dsa_slave_set_eee(struct net_device *dev, struct ethtool_eee *e)
int ret; int ret;
/* Port's PHY and MAC both need to be EEE capable */ /* Port's PHY and MAC both need to be EEE capable */
if (!dev->phydev) if (!dev->phydev && !dp->pl)
return -ENODEV; return -ENODEV;
if (!ds->ops->set_mac_eee) if (!ds->ops->set_mac_eee)
@ -659,7 +659,7 @@ static int dsa_slave_get_eee(struct net_device *dev, struct ethtool_eee *e)
int ret; int ret;
/* Port's PHY and MAC both need to be EEE capable */ /* Port's PHY and MAC both need to be EEE capable */
if (!dev->phydev) if (!dev->phydev && !dp->pl)
return -ENODEV; return -ENODEV;
if (!ds->ops->get_mac_eee) if (!ds->ops->get_mac_eee)