aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/v4l2-ioctl.c
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2009-03-03 18:44:45 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:04 -0400
commit9cfb6a3f1b16e82fab97831265858aa2d1983883 (patch)
treee5b25c018495f3b7361af9dfdfb3ec588696ac26 /drivers/media/video/v4l2-ioctl.c
parent86b5aeacabb4451655c528c41d45ca05b753f72c (diff)
V4L/DVB (10794): v4l2: Move code to zero querybuf output struct to v4l2_ioctl
For VIDIOC_QUERYBUF only the first two fields, size and type, are used as input. The rest can be filled in by the driver as output. Most drivers do not actually use all the field and unused ones should be zeroed out. Some drivers have code to do this and some drivers should but don't. So put some zero out code in v4l2_ioctl so that all drivers using that system get it. The drivers that have zeroing code get that code removed. Some drivers checked that the type field was valid, but v4l2_ioctl already does this so those checks can be removed as well. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/v4l2-ioctl.c')
-rw-r--r--drivers/media/video/v4l2-ioctl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 20a571f21577..175688e9489f 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -969,6 +969,11 @@ static long __video_do_ioctl(struct file *file,
969 if (ret) 969 if (ret)
970 break; 970 break;
971 971
972 /* Zero out all fields starting with bytesysed, which is
973 * everything but index and type. */
974 memset(0, &p->bytesused,
975 sizeof(*p) - offsetof(typeof(*p), bytesused));
976
972 ret = ops->vidioc_querybuf(file, fh, p); 977 ret = ops->vidioc_querybuf(file, fh, p);
973 if (!ret) 978 if (!ret)
974 dbgbuf(cmd, vfd, p); 979 dbgbuf(cmd, vfd, p);