[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181215.103543.935738830761092732.davem@davemloft.net>
Date: Sat, 15 Dec 2018 10:35:43 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: hkallweit1@...il.com
Cc: nic_swsd@...ltek.com, netdev@...r.kernel.org
Subject: Re: r8169: improve spurious interrupt detection
From: Heiner Kallweit <hkallweit1@...il.com>
Date: Sat, 15 Dec 2018 16:24:02 +0100
> @@ -6405,8 +6405,9 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> {
> struct rtl8169_private *tp = dev_instance;
> u16 status = rtl_get_events(tp);
> + u16 irq_mask = RTL_R16(tp, IntrMask);
>
> - if (status == 0xffff || !(status & tp->irq_mask))
> + if (status == 0xffff || !(status & irq_mask))
> return IRQ_NONE;
Heiner, this is really expensive. Why is the tp->irq_mask value out of
sync with the value programmed into IntrMask? Is there some way we can
fix that instead?
Powered by blists - more mailing lists