mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 13:08:36 +00:00
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: Yangbo Lu <yangbo.lu@nxp.com> Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ae72555b41
commit
a6a10d45d1
@ -1332,6 +1332,7 @@ static int enetc_phy_connect(struct net_device *ndev)
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct phy_device *phydev;
|
||||
struct ethtool_eee edata;
|
||||
|
||||
if (!priv->phy_node)
|
||||
return 0; /* phy-less mode */
|
||||
@ -1345,6 +1346,10 @@ static int enetc_phy_connect(struct net_device *ndev)
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user