Commit a6a10d45 authored by Yangbo Lu's avatar Yangbo Lu Committed by David S. Miller

enetc: disable EEE autoneg by default

The EEE support has not been enabled on ENETC, but it may connect
to a PHY which supports EEE and advertises EEE by default, while
its link partner also advertises EEE. If this happens, the PHY enters
low power mode when the traffic rate is low and causes packet loss.
This patch disables EEE advertisement by default for any PHY that
ENETC connects to, to prevent the above unwanted outcome.
Signed-off-by: default avatarYangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ae72555b
...@@ -1332,6 +1332,7 @@ static int enetc_phy_connect(struct net_device *ndev) ...@@ -1332,6 +1332,7 @@ static int enetc_phy_connect(struct net_device *ndev)
{ {
struct enetc_ndev_priv *priv = netdev_priv(ndev); struct enetc_ndev_priv *priv = netdev_priv(ndev);
struct phy_device *phydev; struct phy_device *phydev;
struct ethtool_eee edata;
if (!priv->phy_node) if (!priv->phy_node)
return 0; /* phy-less mode */ return 0; /* phy-less mode */
...@@ -1345,6 +1346,10 @@ static int enetc_phy_connect(struct net_device *ndev) ...@@ -1345,6 +1346,10 @@ static int enetc_phy_connect(struct net_device *ndev)
phy_attached_info(phydev); phy_attached_info(phydev);
/* disable EEE autoneg, until ENETC driver supports it */
memset(&edata, 0, sizeof(struct ethtool_eee));
phy_ethtool_set_eee(phydev, &edata);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment