I have this network card:
02:00.0 Ethernet controller: JMicron Technology Corp. JMC260 PCI Express Fast Ethernet Controller (rev 03)
Every time I initiate a suspend 'systemctl suspend' the machine hangs at resume unless I unload the jme driver.
I can also suspend the computer when the driver is loaded but when the link is down: 'ip link set ens34 down'
However, as soon as the link is up, the hang occurs again.
Here is a call trace I was able to get after it hanged:
I run Arch Linux (x86-64), I also tried compiling the latest kernel from git but the problem is still there, I also went back to Linux 3.11 so I could try to git bisect the issue, but the problem was there in the 3.11 kernel as well.
Please let me know if you need any other information.
This is on a desktop computer BTW, not a laptop.
Created attachment 203571 [details]
Created attachment 203581 [details]
I think this is probably a race condition, because I managed to resume from suspend a few times while testing this, and when the device was up, but this happened very random and it was rare.
Most of the time (99% of the time) it just hangs after resume from suspend.
I mean, the hang only occurs when the device is up, if the device is down (ip link set ens34 down) the hang doesn't occur.
Tried all these parameters from the module, no effect:
parm: force_pseudohp:Enable pseudo hot-plug feature manually by driver instead of BIOS. (int)
parm: no_pseudohp:Disable pseudo hot-plug feature. (int)
parm: no_extplug:Do not use external plug signal for pseudo hot-plug. (int)
So I found that disabling async helps with my issue, e.g.
$ echo 0 > /sys/power/pm_async
I can't reproduce the hang anymore, tried suspend/resume almost ~15 times.