This patch mutualise a bit by running stmmac_hw_fix_mac_speed() after
the switch in case of valid speed.

Signed-off-by: Corentin Labbe <clabbe.montj...@gmail.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index f7664b9..bebe810 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -719,7 +719,6 @@ static void stmmac_adjust_link(struct net_device *dev)
                                if (priv->plat->has_gmac ||
                                    priv->plat->has_gmac4)
                                        ctrl &= ~priv->hw->link.port;
-                               stmmac_hw_fix_mac_speed(priv);
                                break;
                        case 100:
                        case 10:
@@ -734,7 +733,6 @@ static void stmmac_adjust_link(struct net_device *dev)
                                } else {
                                        ctrl &= ~priv->hw->link.port;
                                }
-                               stmmac_hw_fix_mac_speed(priv);
                                break;
                        default:
                                netif_warn(priv, link, priv->dev,
@@ -742,7 +740,8 @@ static void stmmac_adjust_link(struct net_device *dev)
                                phydev->speed = SPEED_UNKNOWN;
                                break;
                        }
-
+                       if (phydev->speed != SPEED_UNKNOWN)
+                               stmmac_hw_fix_mac_speed(priv);
                        priv->speed = phydev->speed;
                }
 
-- 
2.10.2

Reply via email to