mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	- 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)
 |