Message ID | 1438719103-22067-1-git-send-email-ivecera@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Ivan Vecera <ivecera@redhat.com> : > Enforcing this flag in RxConfig for the mentioned chips fixes netdev > watchdog issues prepended with AMD IOMMU message(s) like: > AMD-Vi: Event logged [IO_PAGE_FAULT device=01:00.0 domain=0x001d address=0x0000000000003000 flags=0x0050] FWIW: Acked-by: Francois Romieu <romieu@fr.zoreil.com> Adding a #bz reference would be pointless: commit 7a9810e7bd99c922d9cedf64dbaa5ef6be412295 Author: Michel Dänzer <michel@daenzer.net> Date: Thu Jul 17 12:55:40 2014 +0900 r8169: Enable RX_MULTI_EN for RTL_GIGA_MAC_VER_40 The ethernet port on my ASUS A88X Pro mainboard stopped working several times a day, with messages like these in dmesg: AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x001e address=0x0 000000000003000 flags=0x0050] [...] commit 3ced8c955e74d319f3e3997f7169c79d524dfd06 Author: françois romieu <romieu@fr.zoreil.com> Date: Sun Sep 8 01:15:35 2013 +0200 r8169: enforce RX_MULTI_EN for the 8168f. Same narrative as eb2dc35d99028b698cdedba4f5522bc43e576bd2 ("r8169: RxConfig hack for the 8168evl.") regarding AMD IOMMU errors. RTL_GIGA_MAC_VER_36 - 8168f as well - has not been reported to behave the same. [...] commit eb2dc35d99028b698cdedba4f5522bc43e576bd2 Author: françois romieu <romieu@fr.zoreil.com> Date: Wed Jun 20 12:09:18 2012 +0000 r8169: RxConfig hack for the 8168evl. The 8168evl (RTL_GIGA_MAC_VER_34) based Gigabyte GA-990FXA motherboards are very prone to NETDEV watchdog problems without this change. See https://bugzilla.kernel.org/show_bug.cgi?id=42899 for instance.
From: Ivan Vecera <ivecera@redhat.com> Date: Tue, 4 Aug 2015 22:11:43 +0200 > Enforcing this flag in RxConfig for the mentioned chips fixes netdev > watchdog issues prepended with AMD IOMMU message(s) like: > AMD-Vi: Event logged [IO_PAGE_FAULT device=01:00.0 domain=0x001d address=0x0000000000003000 flags=0x0050] > > Note that this flag is also set in Realtek's own driver for these chips. > > Signed-off-by: Ivan Vecera <ivecera@redhat.com> > Tested-by: Alexander Lindqvist <alexander@bitspace.se> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 3df51fa..f790f61 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -4875,10 +4875,12 @@ static void rtl_init_rxcfg(struct rtl8169_private *tp) case RTL_GIGA_MAC_VER_46: case RTL_GIGA_MAC_VER_47: case RTL_GIGA_MAC_VER_48: + RTL_W32(RxConfig, RX128_INT_EN | RX_DMA_BURST | RX_EARLY_OFF); + break; case RTL_GIGA_MAC_VER_49: case RTL_GIGA_MAC_VER_50: case RTL_GIGA_MAC_VER_51: - RTL_W32(RxConfig, RX128_INT_EN | RX_DMA_BURST | RX_EARLY_OFF); + RTL_W32(RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST | RX_EARLY_OFF); break; default: RTL_W32(RxConfig, RX128_INT_EN | RX_DMA_BURST);