0

I have an Atomic PI and Ubuntu Server 20.04 installed on it. During shutdown it hangs with an error of "watchdog soft lockup" caused by DMA controller drivers called dw_dmac and dw_dmac_core

Reason is that "the HSUARTs on the SOC are not normally used on the AtomicPi, however they do appear on the 26pin connector". Solution described at the link below for 19.04 and 19.10

link

To be able to solve this issue the kernel modules dw_dmac and dw_dmac_core have to be unloaded.

To make this I've done the following steps without success:

1.) Checked whether these modules are running and check dependencies

lsmod | grep dw_dmac

Result:

dw_dmac                16384  2
dw_dmac_core           28672  1 dw_dmac

2.) Tried to unload with modprobe

sudo modprobe -r dw_dmac dw_dmac_core

Result:

modprobe: FATAL: Module dw_dmac is in use.

3.) Tried to unload with rmmod

sudo rmmod -v -f dw_dmac dw_dmac_core

Result:

rmmod: ERROR: ../libkmod/libkmod-module.c:799 kmod_module_remove_module() could not remove 'dw_dmac': Resource temporarily unavailable
rmmod: ERROR: could not remove module dw_dmac: Resource temporarily unavailable
rmmod: ERROR: ../libkmod/libkmod-module.c:799 kmod_module_remove_module() could not remove 'dw_dmac_core': Resource temporarily unavailable
rmmod: ERROR: could not remove module dw_dmac_core: Resource temporarily unavailable

4.) Added the followings to /etc/modprobe.d/blacklist.conf

blacklist dw_dmac
blacklist dw_dmac_core

And then updated initramfs:

sudo update-initramfs -u

Result: modules still loaded at startup

5.) Tried to modify GRUB settings at etc/default/grub to blacklist modules by adding

modprobe.blacklist=dw_dmac
modprobe.blacklist=dw_dmac_core

Then sudo update-grub

Sourcing file `/etc/default/grub'
/usr/sbin/grub-mkconfig: 36: /etc/default/grub: modprobe.blacklist=dw_dmac: not found

6.) Another GRUB settings modification by adding to /etc/default/grub

dw_dmac.blacklist=yes
dw_dmac_core.blacklist=yes

Then sudo update-grub

Result:

Sourcing file `/etc/default/grub'
/usr/sbin/grub-mkconfig: 39: /etc/default/grub: dw_dmac.blacklist=yes: not found

Could anyone help me how to unload these modules permanently?

Thanks.

3
  • You have the right idea but wrong filename. It isn't grub you want. Does this answer your question? How to blacklist kernel modules? – WinEunuuchs2Unix May 27 '20 at 22:09
  • What is the correct filename then? – Kaszab1982 May 28 '20 at 6:17
  • It's in the link: /etc/modprobe.d/blacklist.conf but you should read the whole link. – WinEunuuchs2Unix May 28 '20 at 10:32