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

noelelias

New Member
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
Credits
1,095
What if you "unload" the dependencies first and then work back up through the chain?
Just a thought.
 


Members online


Top