modprobe.d blacklist of cx8800 driver does not work for recompiled kernel

Bug #98982 reported by heckheck
2
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

In order to properly setup my myth box under Fiesty, I have recompiled the 2.6.20-13 kernel in order to build module support for LIRC. I am also setting up a PCHDTV 5500 card, which has drivers for both DVB (cx88-dvb) and video4linux (cx8800). The DVB drivers are not loading automatically in 2.6.20-13 (in either the generic kernel or my recompiled kernel), so I was trying to blacklist the cx8800 driver. I found that when I added a file in /etc/modprobe.d containing the blacklist directive, it works (driver not loaded) when I boot with the generic kernel, but does not work (driver gets loaded) when I boot using my recompiled kernel. Note that the recompiled kernel is built using the .config file from /boot/config-2.6.20-13-generic without modification, so it should in theory be identical to the provided generic kernel.

I will include the needed files for debug as soon as I figure out how to attach them here in Launchpad.

Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :
Revision history for this message
heckheck (jinfo) wrote :

Also, I should note that the cx8800 driver unloads and loads properly when I use modprobe. So for example, once the machine is booted with the recompiled kernel, if I execute

modprobe -r cx8800

the module unloads properly as checked with a subsequent lsmod.

Also, the cx88-dvb driver loads properly using modprobe, and does so whether or not the cx8800 driver is also loaded (but does not load automatically).

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Enter a reference to cx8800 in /etc/modules and it should be loaded automatically.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Not a kernel bug.

Changed in linux-source-2.6.20:
assignee: nobody → ubuntu-kernel-team
status: Unconfirmed → Rejected
Revision history for this message
heckheck (jinfo) wrote :

I don't want it loaded I want it blacklisted (NOT LOADED). I think this is still a bug.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Oops. I ripped through too fast. Its still not a kernel bug. The attached module listing shows cx8802 (the base driver), but you have black listed cx8800.

Revision history for this message
heckheck (jinfo) wrote :

Well it doesn't seem quite as simple as that. I now have blacklisted all of the following drivers

---------------------------
$ cat /etc/modprobe.d/blacklist-cx8800
# 2.6.20.3 kernel seems to find the analog driver
# for the PCHDTV 5500 card and fail to load
# the dvb driver, so blacklist it
blacklist cx8800
blacklist cx8802
blacklist cx88_alsa
blacklist cx88xx
-----------------------------

yet still the cx88xx and cx8800 drivers are getting loaded despite being blacklisted.

*following reboot*
-----------------------------
$ lsmod |grep cx
cx8800 41356 0
cx88xx 74916 1 cx8800
video_buf 29956 3 cx8800,cx88xx,bttv
ir_common 34564 2 cx88xx,bttv
compat_ioctl32 11520 2 cx8800,bttv
btcx_risc 6920 3 cx8800,cx88xx,bttv
i2c_algo_bit 9864 3 cx88xx,bttv,ivtv
cx2341x 14084 1 ivtv
tveeprom 19472 3 cx88xx,bttv,ivtv
videodev 30080 4 cx8800,cx88xx,bttv,ivtv
v4l2_common 29056 9 cx8800,bttv,compat_ioctl32,msp3400,saa7115,tuner,ivtv,cx2341x,videodev
v4l1_compat 15236 3 cx8800,ivtv,videodev
i2c_core 26880 12 cx88xx,bttv,lirc_i2c,i2c_ec,msp3400,saa7115,tuner,ivtv,nvidia,i2c_algo_bit,tveeprom,i2c_nforce2
----------------------

Note that the cx8802 and cx88_alsa drivers are not being loaded but the cx8800 and cx88xx drivers are being loaded. Perhaps some other driver is pulling them in, but they don't seem to be in use, since I can easily remove them manually with

modprobe -r cx8800

I can easily remove the drivers and emulate the blacklist by putting this line in rc.local, but that still begs the question as to why blacklisted drivers are allowed to load in the first place with the custom kernel. This does NOT happen with the generic kernel, which I find quite curious.

Call it a bug or not, but I call it disturbing.

Dunno,

-Jim Heck

Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.