All kernel after 5.4 crash on me after suspend/sleep

Yes, I think similar. I tried with uncommenting the netif_ruinning guard, and still the same behavior.

From what I see however, the first time the network is really up and running, whiel the second time it is notified as up “after” the resume, which then causes the double init.

kernel: atlantic: /root/temp/atlantic/aq_main.c:61 : aq_ndev_open : aq_nic = 0000000017fb9bab
kernel: atlantic: /root/temp/atlantic/aq_nic.c:402 : aq_nic_init : self = 0000000017fb9bab

is only called on the second wakeup.

Sorry, after reading you a second time, you basically say the same. You only say that the module itself calles ndev open, while I thaught maybe this is triggered by some kernel signal. (which would explain the different behavior under different kernels to me)

Another thing: I glanced over the git history of this module not so long ago, and if I remember correctly, this suspend/resume logic was changed somewhere after 5.4, so that could explain why 5.4 works fine.

The master is at least already quite different in that reguard




Which master are you looking at? The driver in the latest kernel has more or less the same code that we’re trying.

I see… maybe this issue is already solved in that version.

By the way, do you need this module to function? Do you use the “Aquantia AQC108 NBase-T/IEEE 802.3bz Ethernet [AQtion]” device? Because if not, then I believe blacklisting it would be the easiest workaround.

Well, I have a mainboard with 2 ethernet ports and wireless. I use one ethernet port and the wireless on occasions.

So I guess I need it? How do I know?

I’ll check if extending the guard around both blocks is already fixing this.

So not both? The simplest way to know is to create /etc/modprobe.d/atlantic.conf:

blacklist atlantic

and reboot. If you still have a connection, then you’re not using the aQtion ethernet connector.

Yep, this does the trick.


Question is, what do I do now to persist this.

Ok, if it is about the whole module, I’m certain already that I need it, as my internet goes away when I do modprobe -r atlantic

I believe the best course of action would be to blacklist the atlantic module and use the other network card.

I’m not convinced that change actually solves the problem and that it doesn’t introduce new ones. For one thing, it breaks the “symmetry” of atl_resume_common() and atl_suspend_common().

Alternatively, you could try installing atlantic-dkms from the AUR, which contains the version from GitHub.

It seems to take a bit longer for the network to come back. And I hope this will only be temporary, until this module is updated. At least a hell heck better than a frozen system :slight_smile:

This sounds good. Will this automatically replace the in kernel module? Or do I have to disable that somehow?

It’ll do that. You just need to run pamac build atlantic-dkms.


Error while configuring. The kernel version is newer?? But the git repository certainly has different code for 2.4.7 than what we worked with??

Ah, even weirder, from what I understand it only failed for kernel 5.4… Is this because it is an LTS kernel and already has the patch maybe?