|
@@ -648,6 +648,10 @@ static int dsa_slave_set_eee(struct net_device *dev, struct ethtool_eee *e)
|
|
|
struct dsa_switch *ds = p->dp->ds;
|
|
|
int ret;
|
|
|
|
|
|
+ /* Port's PHY and MAC both need to be EEE capable */
|
|
|
+ if (!p->phy)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
if (!ds->ops->set_eee)
|
|
|
return -EOPNOTSUPP;
|
|
|
|
|
@@ -655,10 +659,7 @@ static int dsa_slave_set_eee(struct net_device *dev, struct ethtool_eee *e)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
- if (p->phy)
|
|
|
- ret = phy_ethtool_set_eee(p->phy, e);
|
|
|
-
|
|
|
- return ret;
|
|
|
+ return phy_ethtool_set_eee(p->phy, e);
|
|
|
}
|
|
|
|
|
|
static int dsa_slave_get_eee(struct net_device *dev, struct ethtool_eee *e)
|
|
@@ -667,6 +668,10 @@ static int dsa_slave_get_eee(struct net_device *dev, struct ethtool_eee *e)
|
|
|
struct dsa_switch *ds = p->dp->ds;
|
|
|
int ret;
|
|
|
|
|
|
+ /* Port's PHY and MAC both need to be EEE capable */
|
|
|
+ if (!p->phy)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
if (!ds->ops->get_eee)
|
|
|
return -EOPNOTSUPP;
|
|
|
|
|
@@ -674,10 +679,7 @@ static int dsa_slave_get_eee(struct net_device *dev, struct ethtool_eee *e)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
- if (p->phy)
|
|
|
- ret = phy_ethtool_get_eee(p->phy, e);
|
|
|
-
|
|
|
- return ret;
|
|
|
+ return phy_ethtool_get_eee(p->phy, e);
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|