net: mv88e61xx: fix autonegotiation on ports
authorTim Harvey <tharvey@gateworks.com>
Mon, 4 Feb 2019 20:56:52 +0000 (12:56 -0800)
committerStefano Babic <sbabic@denx.de>
Fri, 15 Feb 2019 12:01:28 +0000 (13:01 +0100)
phy_reset should be called before autoneg is setup

The only boards using MV88E61XX_SWITCH are:
 - alliedtelesis/SBx81LIFKW
 - alliedtelesis/SBx81LIFXCAT
 - gateworks/gw_ventana

Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
drivers/net/phy/mv88e61xx.c

index ea54a15..c1e2860 100644 (file)
@@ -945,14 +945,14 @@ static int mv88e61xx_phy_config(struct phy_device *phydev)
                                continue;
                        }
 
-                       res = genphy_config_aneg(phydev);
+                       res = phy_reset(phydev);
                        if (res < 0) {
-                               printf("Error setting PHY %i autoneg\n", i);
+                               printf("Error resetting PHY %i\n", i);
                                continue;
                        }
-                       res = phy_reset(phydev);
+                       res = genphy_config_aneg(phydev);
                        if (res < 0) {
-                               printf("Error resetting PHY %i\n", i);
+                               printf("Error setting PHY %i autoneg\n", i);
                                continue;
                        }