diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2009-03-03 20:44:45 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 12:43:04 -0300 |
commit | 9cfb6a3f1b16e82fab97831265858aa2d1983883 (patch) | |
tree | e5b25c018495f3b7361af9dfdfb3ec588696ac26 /drivers/media/video/v4l2-ioctl.c | |
parent | 86b5aeacabb4451655c528c41d45ca05b753f72c (diff) | |
download | op-kernel-dev-9cfb6a3f1b16e82fab97831265858aa2d1983883.zip op-kernel-dev-9cfb6a3f1b16e82fab97831265858aa2d1983883.tar.gz |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index 20a571f..175688e 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, if (ret) break; + /* Zero out all fields starting with bytesysed, which is + * everything but index and type. */ + memset(0, &p->bytesused, + sizeof(*p) - offsetof(typeof(*p), bytesused)); + ret = ops->vidioc_querybuf(file, fh, p); if (!ret) dbgbuf(cmd, vfd, p); |