[linux-dvb] Five dvb cards linux 2.6.11 + UDEV 053

Johannes Stezenbach js at linuxtv.org
Wed Mar 9 22:38:55 CET 2005


Kenneth Aafløy wrote:
> On Wednesday 09 March 2005 19:11, Anssi Hannula wrote:
> > Johannes Stezenbach wrote:
> > > We use 64 minor numbers per card. The new code in dvbdev.c should
> > > allocate minor numbers > 255 for the 5th and 6th card, but it
> > > maybe it doesn't. I don't have enough hardware to test, and
> > > currently don't have the time to do a simulation.
> > 
> > Isn't there only 256 minor numbers?
> > Or did I understand something wrong?
> 
> I did some snooping around on this, and the there is only 256 minor numbers
> visible from userspace, the extra bits allocated in the kernel is for internal
> use only:
> 
> http://linux.bkbits.net:8080/linux-2.6/hist/include/linux/kdev_t.h?nav=index.html|src/.|src/include|src/include/linux

http://lwn.net/Articles/49684/ suggests otherwise, but the mknod()
binary seems to clip the minor number to 8 bits. The mknod()
syscall however uses a fancy backwards compatible encoding
which allows more than 8 bit minor numbers, see new_decode_dev()
in the change of the bkbits page.

I guess udev has a a similar bug then.

> I have a solution to the problem though, but it requires that the minor
> device numbers are reordered a bit, and everyone without udev/devfs will
> need to recreate their device nodes.

This is bad. We don't want this.

Johannes




More information about the linux-dvb mailing list