• Mauro Carvalho Chehab's avatar
    V4L/DVB (8751): vivi: Fix some issues at vivi register routine · 980d4f17
    Mauro Carvalho Chehab authored
    This patch fixes several small issues at vivi register routines:
    
    1) minor and n_devs should be unsigned;
    2) n_devs = 0 were not properly handled;
    3) if n_devs specify a high number, the driver would just roll back and
    won't register any device. The proper behaviour is to keep all succeded
    devices registered;
    4) both n_devs and minor were using 0 as permissions. Better to have
    them with 0444.
    
    With the current patch, if n_devs specify a very large value, it will
    register all possible devices. For example, on a machine without any
    other V4L drivers loaded, with this patch, we will have something like:
    
    vivi: V4L2 device registered as /dev/video0
    vivi: V4L2 device registered as /dev/video1
    vivi: V4L2 device registered as /dev/video2
    	...
    vivi: V4L2 device registered as /dev/video31
    video_register_device_index: get_index failed
    Video Technology Magazine Virtual Video Capture Board ver 0.5.0 successfully loaded.
    
    5) The number of allocated devices on success is now kept at n_devs:
    
    $ cat /sys/module/vivi/parameters/n_devs
    32
    
    Thanks to Henne <henne@nachtwindheim.de> for pointing that there were
    some issues at vivi.
    
    Cc: Henne <henne@nachtwindheim.de>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    980d4f17
vivi.c 27.9 KB