linux-sg2042/drivers/media
Hans Verkuil 7a3ed2d95e [media] v4l2-ioctl: Don't assume file->private_data always points to a v4l2_fh
Commit efbceecd45, adds a number of helper
functions for ctrl related ioctls to v4l2-ioctl.c, these helpers assume that
if file->private_data != NULL, it points to a v4l2_fh, which is only the case
for drivers which actually use v4l2_fh.

This breaks for example bttv which use the "filedata" pointer for its own uses,
and now all the ctrl ioctls try to use whatever its filedata points to as
v4l2_fh and think it has a ctrl_handler, leading to:

[  142.499214] BUG: unable to handle kernel NULL pointer dereference at 0000000000000021
[  142.499270] IP: [<ffffffffa01cb959>] v4l2_queryctrl+0x29/0x230 [videodev]
[  142.514649]  [<ffffffffa01c7a77>] v4l_queryctrl+0x47/0x90 [videodev]
[  142.517417]  [<ffffffffa01c58b1>] __video_do_ioctl+0x2c1/0x420 [videodev]
[  142.520116]  [<ffffffffa01c7ee6>] video_usercopy+0x1a6/0x470 [videodev]
...

This patch adds the missing test_bit(V4L2_FL_USES_V4L2_FH, &vfd->flags) tests
to the ctrl ioctl helpers v4l2_fh paths, fixing the issues with for example
the bttv driver.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:44:07 -03:00
..
common [media] tuner-xc2028: tag the usual firmwares to help dracut 2012-07-06 14:15:41 -03:00
dvb Merge branch 'v4l_for_linus' into staging/for_v3.6 2012-07-14 15:45:44 -03:00
radio [media] radio-si470x: Lower firmware version requirements 2012-07-30 18:12:12 -03:00
rc Merge branch 'v4l_for_linus' into staging/for_v3.6 2012-07-14 15:45:44 -03:00
video [media] v4l2-ioctl: Don't assume file->private_data always points to a v4l2_fh 2012-07-30 18:44:07 -03:00
Kconfig [media] Kconfig: Split the core support options from the driver ones 2012-07-06 09:12:59 -03:00
Makefile
media-device.c [media] media: fix truncated entity specification 2011-12-20 09:31:50 -02:00
media-devnode.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
media-entity.c [media] media: Add link_validate() op to check links to the sink pad 2012-05-14 08:44:11 -03:00