mirror of https://gitee.com/openkylin/linux.git
gianfar: Reduce logging noise seen due to phy polling if link is down
Commit 6ce29b0e2a
("gianfar: Avoid unnecessary reg accesses in adjust_link()")
eliminates unnecessary calls to adjust_link for phy devices which don't support
interrupts and need polling. As part of that work, the 'new_state' local flag,
which was used to reduce logging noise on the console, was eliminated.
Unfortunately, that means that a 'Link is Down' log message will now be
issued continuously if a link is configured as UP, the link state is down,
and the associated phy requires polling. This occurs because priv->oldduplex
is -1 in this case, which always differs from phydev->duplex. In addition,
phydev->speed may also differ from priv->oldspeed. gfar_update_link_state()
is therefore called each time a phy is polled, even if the link state did not
change.
Cc: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c77c761fa4
commit
0ae93b2ccc
|
@ -3162,8 +3162,8 @@ static void adjust_link(struct net_device *dev)
|
|||
struct phy_device *phydev = priv->phydev;
|
||||
|
||||
if (unlikely(phydev->link != priv->oldlink ||
|
||||
phydev->duplex != priv->oldduplex ||
|
||||
phydev->speed != priv->oldspeed))
|
||||
(phydev->link && (phydev->duplex != priv->oldduplex ||
|
||||
phydev->speed != priv->oldspeed))))
|
||||
gfar_update_link_state(priv);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue