mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
27b816d545
- improve RTL8411b phy-down fixup - remove not needed check in rtl_fw_write_firmware - remove multicast filter limit - improve handling task scheduling - simplify EEE handling - simplify code by using core-provided pcpu stats allocation - add generic rtl_set_eee_txidle_timer function - support setting the EEE tx idle timer on RTL8168h - add support for returning tx_lpi_timer in ethtool get_eee - annotate writes on dev->mtu from ndo_change_mtu() - disable interrupt source RxOverflow - remove detection of chip version 11 (early RTL8168b) Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
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
|
|
@@ -5083,12 +5083,10 @@ static void rtl_set_irq_mask(struct rtl8
|
|
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)
|