[PATCH net] r8169: enforce RX_MULTI_EN on rtl8168ep/8111ep chips

Subsystems: 8169 10/100/1000 gigabit ethernet driver, networking drivers, the rest

STALE4017d REVIEWED: 1 (0M)

1 review trailer.

3 messages, 3 authors, 2015-08-07 · open the first message on its own page

[PATCH net] r8169: enforce RX_MULTI_EN on rtl8168ep/8111ep chips

From: Ivan Vecera <ivecera@redhat.com>
Date: 2015-08-04 20:11:48

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 <redacted>
---
 drivers/net/ethernet/realtek/r8169.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
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);
-- 
2.4.6

Re: [PATCH net] r8169: enforce RX_MULTI_EN on rtl8168ep/8111ep chips

From: Francois Romieu <romieu@fr.zoreil.com>
Date: 2015-08-04 20:59:50

Ivan Vecera [off-list ref] :
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 [off-list ref]
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 [off-list ref]
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 [off-list ref]
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.


-- 
Ueimor

Re: [PATCH net] r8169: enforce RX_MULTI_EN on rtl8168ep/8111ep chips

From: David Miller <davem@davemloft.net>
Date: 2015-08-07 07:01:57

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 <redacted>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help