Re: PROBLEM: Marvell 88E8040 (sky2) fails after hibernation

From: Thomas Gleixner
Date: Thu Jun 27 2019 - 10:38:42 EST


Octavio,

On Mon, 24 Jun 2019, Octavio Alvarez wrote:
> On 6/23/19 7:54 AM, Thomas Gleixner wrote:
> > Load the driver on Linus master with the following module parameter:
> >
> > disable_msi=1
> >
> > That switches to INTx usage. Does the machine resume proper with that?
>
> I did two tests:
>
> If I boot with sky2.disable_msi=1 on the kernel cmdline then the problem goes
> away (when back from hibernation, the NIC works OK).
>
> If I boot regularly (disable_msi not set) and then do modprobe -r sky2;
> modprobe sky2 disable_msi=1, the problem stays (when back from hibernation,
> the NIC does not work).

Interesting. Did you verify that the driver still uses INTx after
hibernation in /proc/interrupts?

cat /proc/interrupts | grep eth0

The 6st column should show IO-APIC for INTx. If it shows PCI-MSI then
something went wrong.

Also please check Linus suspicion about the module being reloaded after
hibernation through some distro magic.

Thanks,

tglx