From 69280961d72754f27b5196d392bd41b7f8fa2a42 Mon Sep 17 00:00:00 2001
From: Tim Harvey <tharvey@gateworks.com>
Date: Mon, 4 Feb 2019 12:56:52 -0800
Subject: [PATCH] net: mv88e61xx: fix autonegotiation on ports

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 | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/phy/mv88e61xx.c b/drivers/net/phy/mv88e61xx.c
index ea54a15310..c1e2860329 100644
--- a/drivers/net/phy/mv88e61xx.c
+++ b/drivers/net/phy/mv88e61xx.c
@@ -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;
 			}
 
-- 
2.39.5