Hi, 

I am  facing an issues with module unloading, 
I have two modules say A, B

A depends on B, so B is automatically loaded when A is loaded. 
B module is also directly being used by the user side code via misc interface. 

Now when I am unloading module A, via "modprobe -r A" it is also unloading the module B which is being used by the application and resulting in the kernel crash.

Also, lsmod ouput shows driver B is not used by anybody. Seems "Used By" of lsmod output is not getting updated.

How to prevent unloading of module B in used. When unloading module 'A' via modprobe -r

Thanks,
Chetan Nanda