Message ID | 20180103154629.1433-1-jbrunet@baylibre.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
From: Jerome Brunet <jbrunet@baylibre.com> Date: Wed, 3 Jan 2018 16:46:29 +0100 > Note in the databook - Section 4.4 - EEE : > " The EEE feature is not supported when the MAC is configured to use the > TBI, RTBI, SMII, RMII or SGMII single PHY interface. Even if the MAC > supports multiple PHY interfaces, you should activate the EEE mode only > when the MAC is operating with GMII, MII, or RGMII interface." > > Applying this restriction solves a stability issue observed on Amlogic > gxl platforms operating with RMII interface and the internal PHY. > > Fixes: 83bf79b6bb64 ("stmmac: disable at run-time the EEE if not supported") > Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> > Tested-by: Arnaud Patard <arnaud.patard@rtp-net.org> Applied and queued up for -stable, thanks.
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index c52a9963c19d..023938166821 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -364,9 +364,15 @@ static void stmmac_eee_ctrl_timer(struct timer_list *t) bool stmmac_eee_init(struct stmmac_priv *priv) { struct net_device *ndev = priv->dev; + int interface = priv->plat->interface; unsigned long flags; bool ret = false; + if ((interface != PHY_INTERFACE_MODE_MII) && + (interface != PHY_INTERFACE_MODE_GMII) && + !phy_interface_mode_is_rgmii(interface)) + goto out; + /* Using PCS we cannot dial with the phy registers at this stage * so we do not support extra feature like EEE. */