diff options
Diffstat (limited to 'target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch')
-rw-r--r-- | target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch b/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch index 7743147ea3..cca724293d 100644 --- a/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch +++ b/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch @@ -1,18 +1,18 @@ --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c -@@ -1242,6 +1242,11 @@ int phylink_ethtool_ksettings_set(struct - - /* If we have a PHY, configure the phy */ - if (pl->phydev) { +@@ -1425,6 +1425,11 @@ int phylink_ethtool_ksettings_set(struct + * the presence of a PHY, this should not be changed as that + * should be determined from the media side advertisement. + */ + if (pl->phydev->drv->get_port && pl->phydev->drv->set_port) { + if(pl->phydev->drv->get_port(pl->phydev) != kset->base.port) { + pl->phydev->drv->set_port(pl->phydev, kset->base.port); + } + } - ret = phy_ethtool_ksettings_set(pl->phydev, &our_kset); - if (ret) - return ret; -@@ -1420,8 +1425,11 @@ int phylink_ethtool_get_eee(struct phyli + return phy_ethtool_ksettings_set(pl->phydev, kset); + } + +@@ -1700,8 +1705,11 @@ int phylink_ethtool_get_eee(struct phyli ASSERT_RTNL(); @@ -25,7 +25,7 @@ return ret; } -@@ -1438,9 +1446,11 @@ int phylink_ethtool_set_eee(struct phyli +@@ -1718,8 +1726,11 @@ int phylink_ethtool_set_eee(struct phyli ASSERT_RTNL(); @@ -34,8 +34,7 @@ + if (pl->phydev->drv->set_eee) + return pl->phydev->drv->set_eee(pl->phydev, eee); ret = phy_ethtool_set_eee(pl->phydev, eee); -- + } + return ret; } - EXPORT_SYMBOL_GPL(phylink_ethtool_set_eee); |