Re: [linux-dvb] ERROR: Module dvb_usb_aaa_dvbusb_demo is in use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, 5 Mar 2009, wdy9927 wrote:
I had make install a module for a dvb usb box which writen by my self. But this one didn't have real frontend ops and tuner ops.These functions did
nothing but return 0.
Like this
static int demo_fe_init(struct dvb_frontend *fe)
{
    return 0;
}

After the usb box removed from linux, the DVB system called demo_fe_release and demo_tu_release, sofar that seems very good? But, I can't rmmod this
module normally. It showed "ERROR: Module dvb_usb_dvbusb_demo is in use".This error is diffrent with "ERROR: Module dvb_usb is in use by
dvb_usb_dvbusb_demo"

How can i rmmod this module with out reboot Linux.

This is a known problem with every dvb-device-driver (especially the ones using dvb-usb) which are implementing the frontend-part not as an independent kernel module. When the frontend-driver is "released" the dvb-core is doing something like use-count-decrement on the module. As the use-count was never incremented (dvb_attach cannot be used on function which are not exported with EXPORT_SYMBOL) the count is now -1, which is same as 0xffffffff.

rmmod is refusing to unload a module which has a use_count != 0. This is the problem you're facing.

You could still try to use rmmod -f to force to unload. Or you make your frontend-driver a seperate kernel module.

Patrick.

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux