Browse Source

net: dsa: mv88e6xxx: call phy_init_eee

It is safer to init the EEE before the DSA layer call
phy_ethtool_set_eee, as sf2 and qca8k are doing.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Vivien Didelot 8 years ago
parent
commit
7f5c6d7cdd
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/net/dsa/mv88e6xxx/chip.c

+ 6 - 0
drivers/net/dsa/mv88e6xxx/chip.c

@@ -855,6 +855,12 @@ static int mv88e6xxx_set_eee(struct dsa_switch *ds, int port,
 	struct mv88e6xxx_chip *chip = ds->priv;
 	int err;
 
+	if (e->eee_enabled) {
+		err = phy_init_eee(phydev, 0);
+		if (err)
+			return err;
+	}
+
 	mutex_lock(&chip->reg_lock);
 	err = mv88e6xxx_energy_detect_write(chip, port, e);
 	mutex_unlock(&chip->reg_lock);