From: Thomas Graziadei <thomas.grazia...@omicronenergy.com> The phy layer sets the link status initially to 1 to also support phyless systems, therefore we set the gianfar drivers initial link status also to 1. This prevents the gfar_update_link_state() method to be called when the driver and phy have just been initialized but no link state change was detected yet.
Signed-off-by: Thomas Graziadei <thomas.grazia...@omicronenergy.com> --- drivers/net/ethernet/freescale/gianfar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index b3b5c43..be0d23e 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -1705,7 +1705,7 @@ static int gfar_restore(struct device *dev) gfar_start(priv); - priv->oldlink = 0; + priv->oldlink = 1; priv->oldspeed = 0; priv->oldduplex = -1; @@ -1791,7 +1791,7 @@ static int init_phy(struct net_device *dev) phy_interface_t interface; struct phy_device *phydev; - priv->oldlink = 0; + priv->oldlink = 1; priv->oldspeed = 0; priv->oldduplex = -1; @@ -2212,7 +2212,7 @@ int startup_gfar(struct net_device *ndev) gfar_start(priv); /* force link state update after mac reset */ - priv->oldlink = 0; + priv->oldlink = 1; priv->oldspeed = 0; priv->oldduplex = -1; -- 2.7.4