2024-08-19 15:55:00 +00:00
|
|
|
From 6994520a332887f1688464f250c9ec8002a89a8e Mon Sep 17 00:00:00 2001
|
|
|
|
From: Heiner Kallweit <hkallweit1@gmail.com>
|
|
|
|
Date: Mon, 27 May 2024 21:16:56 +0200
|
|
|
|
Subject: [PATCH] r8169: disable interrupt source RxOverflow
|
|
|
|
|
|
|
|
Vendor driver calls this bit RxDescUnavail. All we do in the interrupt
|
|
|
|
handler in this case is scheduling NAPI. If we should be out of
|
|
|
|
RX descriptors, then NAPI is scheduled anyway. Therefore remove this
|
|
|
|
interrupt source. Tested on RTL8168h.
|
|
|
|
|
|
|
|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
|
|
|
Reviewed-by: Sunil Goutham <sgoutham@marvell.com>
|
|
|
|
Link: https://lore.kernel.org/r/9b2054b2-0548-4f48-bf91-b646572093b4@gmail.com
|
|
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
|
|
---
|
|
|
|
drivers/net/ethernet/realtek/r8169_main.c | 4 +---
|
|
|
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
|
|
|
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
2024-12-14 20:02:19 +00:00
|
|
|
@@ -5118,12 +5118,10 @@ static void rtl_set_irq_mask(struct rtl8
|
2024-08-19 15:55:00 +00:00
|
|
|
tp->irq_mask = RxOK | RxErr | TxOK | TxErr | LinkChg;
|
|
|
|
|
|
|
|
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
|
|
|
|
- tp->irq_mask |= SYSErr | RxOverflow | RxFIFOOver;
|
|
|
|
+ tp->irq_mask |= SYSErr | RxFIFOOver;
|
|
|
|
else if (tp->mac_version == RTL_GIGA_MAC_VER_11)
|
|
|
|
/* special workaround needed */
|
|
|
|
tp->irq_mask |= RxFIFOOver;
|
|
|
|
- else
|
|
|
|
- tp->irq_mask |= RxOverflow;
|
|
|
|
}
|
|
|
|
|
|
|
|
static int rtl_alloc_irq(struct rtl8169_private *tp)
|