aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/videodev.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-04-24 13:40:07 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 15:45:56 -0300
commit2aa2342f2ba7caac0c5ed08331e883b7a72da2dd (patch)
tree69eb39d559fcfc36742537caaf208dd10af29320 /drivers/media/video/videodev.c
parentV4L/DVB (5553): Replace typhoon_do_ioctl to use video_ioctl2 (diff)
downloadlinux-dev-2aa2342f2ba7caac0c5ed08331e883b7a72da2dd.tar.xz
linux-dev-2aa2342f2ba7caac0c5ed08331e883b7a72da2dd.zip
V4L/DVB (5554): Fix: vidioc_g_parm were not zeroing the memory
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to '')
-rw-r--r--drivers/media/video/videodev.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c
index fdfef0b53315..80ac5f86d9e5 100644
--- a/drivers/media/video/videodev.c
+++ b/drivers/media/video/videodev.c
@@ -1404,6 +1404,11 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
case VIDIOC_G_PARM:
{
struct v4l2_streamparm *p=arg;
+ __u32 type=p->type;
+
+ memset(p,0,sizeof(*p));
+ p->type=type;
+
if (vfd->vidioc_g_parm) {
ret=vfd->vidioc_g_parm(file, fh, p);
} else {
@@ -1415,8 +1420,6 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
v4l2_video_std_construct(&s, vfd->current_norm,
v4l2_norm_to_name(vfd->current_norm));
- memset(p,0,sizeof(*p));
-
p->parm.capture.timeperframe = s.frameperiod;
ret=0;
}