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@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@pvr bt8xx]# kill %1
[root@pvr bt8xx]# rmmod bt878
[1]+ Terminated modprobe -v -r bt878
[root@pvr bt8xx]#
[root@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@pvr bt8xx]#
So I'm wondering: why does "modprobe -r --ignore-remove bt878" cause
recursion?
And what's the work-around?
Thanks,
-Philip