]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
r8169: fix RTL8168H and RTL8107E rx crc error
authorChunHao Lin <hau@realtek.com>
Thu, 23 Mar 2023 14:33:09 +0000 (22:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Apr 2023 10:10:45 +0000 (12:10 +0200)
[ Upstream commit 33189f0a94b9639c058781fcf82e4ea3803b1682 ]

When link speed is 10 Mbps and temperature is under -20°C, RTL8168H and
RTL8107E may have rx crc error. Disable phy 10 Mbps pll off to fix this
issue.

Fixes: 6e1d0b898818 ("r8169:add support for RTL8168H and RTL8107E")
Signed-off-by: ChunHao Lin <hau@realtek.com>
Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/realtek/r8169_phy_config.c

index 930496cd34ed00c61d4b37d11b9008d777fe0609..b50f16786c246abbe25553103ae699f7e5f10592 100644 (file)
@@ -826,6 +826,9 @@ static void rtl8168h_2_hw_phy_config(struct rtl8169_private *tp,
        /* disable phy pfm mode */
        phy_modify_paged(phydev, 0x0a44, 0x11, BIT(7), 0);
 
+       /* disable 10m pll off */
+       phy_modify_paged(phydev, 0x0a43, 0x10, BIT(0), 0);
+
        rtl8168g_disable_aldps(phydev);
        rtl8168g_config_eee_phy(phydev);
 }