• We did not send an email asking for donations - please read this post.

How to unload a kernel module which is in use and has a recursive module dependency?

noelelias

New Member
Joined
May 29, 2020
Messages
2
Reaction score
0
Credits
21
I have a driver for my ELM 327 an it uses the pl2303 module which depends on the usbserial and this again depends on the pl2303 module.

What I tried:

sudo modprobe -r usbserial pl2303
sudo modprobe -r pl2303 usbserial
sudo modprobe -rf usbserial
sudo modprobe -rf pl2303
sudo rmmod --force pl2303
sudo rmmod --force usbserial

result of rmmod:

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

result of modprobe:

modprobe: FATAL: Module usbserial is in use.

Also I tried it with the drivers loaded and unloaded.

kernel modules reference each other[1]


OS: Ubuntu 20.04
 


Vrai

Well-Known Member
Joined
Mar 16, 2019
Messages
1,060
Reaction score
999
Credits
4,055
What if you "unload" the dependencies first and then work back up through the chain?
Just a thought.
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Linux.org Hosting Donations
Consider making a donation

Members online


Top