From: Heiner Kallweit <hkallwe...@gmail.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?