Seeing recursion in modprobe...

Philip Prindeville philipp_subx at redfish-solutions.com
Tue Nov 22 07:27:55 UTC 2005


I've got the following segment of /etc/modprobe.conf:

options bt878 debug=5
options bttv card=113 i2c_hw=1 bttv_debug=1
options dst verbose=5 dst_addons=0
options dvb_core dvb_shutdown_timeout=0

install bttv /sbin/modprobe --ignore-install bttv
remove bttv { /sbin/modprobe -r --ignore-remove bttv; }

install bt878 /sbin/modprobe --ignore-install bt878 && /sbin/modprobe 
dst && /sbin/modprobe dvb-bt8xx
remove bt878 { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
...

But when I run it, I see:

[root at pvr bt8xx]# modprobe -v -r bt878
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/bt8xx/dvb-bt8xx.kormmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/frontends/nxt6000.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/frontends/mt352.kormmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/frontends/sp887x.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/bt8xx/old/dst_ca.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/bt8xx/old/dst.ko
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
^C
remove { /sbin/modprobe -r --ignore-remove bttv; }
FATAL: Module bttv is in use.
WARNING: Error running remove command for bttv
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/dvb-core/dvb-core.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/frontends/cx24110.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/dvb/frontends/or51211.ko
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }
remove { /sbin/modprobe -r dvb-bt8xx; /sbin/modprobe -r dst; 
/sbin/modprobe -r --ignore-remove bt878; /sbin/modprobe -r bttv; }

[1]+  Stopped                 modprobe -v -r bt878
[root at pvr bt8xx]# kill %1
[root at pvr bt8xx]# rmmod bt878
[1]+  Terminated              modprobe -v -r bt878
[root at pvr bt8xx]#
[root at pvr bt8xx]# modprobe -v -r bttv
remove { /sbin/modprobe -r --ignore-remove bttv; }
rmmod /lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/video/bttv.ko
rmmod /lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/video/video-buf.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/i2c/algos/i2c-algo-bit.ko
rmmod 
/lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/video/v4l2-common.ko
rmmod /lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/video/btcx-risc.ko
rmmod /lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/video/tveeprom.ko
rmmod /lib/modules/2.6.12-1.1381_FC3/kernel/drivers/media/video/videodev.ko
[root at pvr bt8xx]#


So I'm wondering:  why does "modprobe -r --ignore-remove bt878" cause 
recursion?

And what's the work-around?

Thanks,

-Philip




More information about the users mailing list