[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241018230154.GA3057800@electric-eye.fr.zoreil.com>
Date: Sat, 19 Oct 2024 01:01:54 +0200
From: Francois Romieu <romieu@...zoreil.com>
To: Heiner Kallweit <hkallweit1@...il.com>
Cc: Realtek linux nic maintainers <nic_swsd@...ltek.com>,
Andrew Lunn <andrew+netdev@...n.ch>, Paolo Abeni <pabeni@...hat.com>,
Jakub Kicinski <kuba@...nel.org>, David Miller <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH net v2] r8169: avoid unsolicited interrupts
Heiner Kallweit <hkallweit1@...il.com> :
|...]
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 4166f1ab8..79e7b223b 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -4749,7 +4749,9 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> if ((status & 0xffff) == 0xffff || !(status & tp->irq_mask))
> return IRQ_NONE;
>
> - if (unlikely(status & SYSErr)) {
> + /* At least RTL8168fp may unexpectedly set the SYSErr bit */
> + if (unlikely(status & SYSErr &&
> + tp->mac_version <= RTL_GIGA_MAC_VER_06)) {
> rtl8169_pcierr_interrupt(tp->dev);
> goto out;
> }
Some paleolithic references:
a27993f3d9daca0dffa26577a83822db99c952e2
d03902b8864d7814c938f67befade5a3bba68708
First occurences were related to 32/64 bits PCI systems somewhere around
2004~2006 (IBM PPC, who cares now ?).
It also appeared sometimes when the receive frame length check misbehaved.
It mostly was a plain PCI devices behavior. I am not too sure about 8168b
but I don't remember anything above (including) 8168c needing it.
--
Ueimor
Powered by blists - more mailing lists