Re: Regression caused by commit bc976233a872, ethernet r8169 stops working after system S3

From: Thomas Gleixner
Date: Tue Apr 03 2018 - 04:51:52 EST


On Sat, 31 Mar 2018, Kai-Heng Feng wrote:
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > On Sat, 31 Mar 2018, Kai-Heng Feng wrote:
> > > A user reported [1] that the Realtek ethernet r8169 stops working after S3
> > > since v4.15-rc6. The issue still exists in Linus' tree:
> > >
> > > [ 150.877998] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready
> > > [ 150.944101] do_IRQ: 3.37 No irq handler for vector
> > > [ 150.944105] r8169 0000:01:00.0 enp1s0: link down
> > > [ 150.944180] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready
> > >
> > > My desktop also has this device, which is also affected by this
> > > regression. So
> > > I did a bisect, and this is the bad commit:
> > > bc976233a872 genirq/msi x86/vector: Prevent reservation mode for non
> > > maskable
> > > MSI
> > >
> > > After this commit gets reverted, the issue is gone.
> >
> > Sigh. Can you please apply the debug patch below and provide the output of
> >
> > # cat /proc/interrupts
> >
> > and full dmesg after resume.
>
> Weird. I don't see this issue with this debug patch.

Bah. The patch is broken. New version written with brain awake below.

Thanks,

tglx

8<---------------------
--- a/kernel/irq/cpuhotplug.c
+++ b/kernel/irq/cpuhotplug.c
@@ -134,6 +134,10 @@ static bool migrate_one_irq(struct irq_d
brokeaff = false;
}

+ pr_info("IRQ%u: New affinity: %*pbl effective: %*pbl\n",
+ d->irq, cpumask_pr_args(affinity),
+ cpumask_pr_args(irq_data_get_effective_affinity_mask(d)));
+
if (maskchip && chip->irq_unmask)
chip->irq_unmask(d);