[PATCH 5.8 025/633] r8169: fix data corruption issue on RTL8402
From: Greg Kroah-Hartman
Date: Tue Oct 27 2020 - 10:48:37 EST
From: Heiner Kallweit <hkallweit1@xxxxxxxxx>
[ Upstream commit ef9da46ddef071e1bbb943afbbe9b38771855554 ]
Petr reported that after resume from suspend RTL8402 partially
truncates incoming packets, and re-initializing register RxConfig
before the actual chip re-initialization sequence is needed to avoid
the issue.
Reported-by: Petr Tesarik <ptesarik@xxxxxxx>
Proposed-by: Petr Tesarik <ptesarik@xxxxxxx>
Tested-by: Petr Tesarik <ptesarik@xxxxxxx>
Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/net/ethernet/realtek/r8169_main.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -4871,6 +4871,10 @@ static int __maybe_unused rtl8169_resume
if (netif_running(tp->dev))
__rtl8169_resume(tp);
+ /* Reportedly at least Asus X453MA truncates packets otherwise */
+ if (tp->mac_version == RTL_GIGA_MAC_VER_37)
+ rtl_init_rxcfg(tp);
+
return 0;
}