diff options
author | Sam Revitch <sam.revitch@gmail.com> | 2007-05-01 08:46:30 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-05-09 10:12:29 -0300 |
commit | 1088b1373506fd75d2ac80433b847f116b917bc9 (patch) | |
tree | 0fbd70b39dcd0c829662ac6df0001d5364ef20e6 /drivers/media | |
parent | 9df2ead585515f32d6c9092780c3d13a9627a4a9 (diff) | |
download | linux-1088b1373506fd75d2ac80433b847f116b917bc9.tar.bz2 |
V4L/DVB (5568): VIDIOCGMBUF handling in video_ioctl2()
Correct handling of VIDIOCGMBUF in video_ioctl2().
Signed-off-by: Sam Revitch <samr7@cs.washington.edu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/videodev.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c index 5263b50463e1..f45c625a92f4 100644 --- a/drivers/media/video/videodev.c +++ b/drivers/media/video/videodev.c @@ -437,6 +437,24 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, v4l_print_ioctl(vfd->name, cmd); } +#ifdef CONFIG_VIDEO_V4L1_COMPAT + /* --- streaming capture ------------------------------------- */ + if (cmd == VIDIOCGMBUF) { + struct video_mbuf *p=arg; + + memset(p,0,sizeof(p)); + + if (!vfd->vidiocgmbuf) + return ret; + ret=vfd->vidiocgmbuf(file, fh, p); + if (!ret) + dbgarg (cmd, "size=%d, frames=%d, offsets=0x%08lx\n", + p->size, p->frames, + (unsigned long)p->offsets); + return ret; + } +#endif + if (_IOC_TYPE(cmd)=='v') return v4l_compat_translate_ioctl(inode,file,cmd,arg, __video_do_ioctl); @@ -791,24 +809,6 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, ret=vfd->vidioc_overlay(file, fh, *i); break; } -#ifdef CONFIG_VIDEO_V4L1_COMPAT - /* --- streaming capture ------------------------------------- */ - case VIDIOCGMBUF: - { - struct video_mbuf *p=arg; - - memset(p,0,sizeof(p)); - - if (!vfd->vidiocgmbuf) - break; - ret=vfd->vidiocgmbuf(file, fh, p); - if (!ret) - dbgarg (cmd, "size=%d, frames=%d, offsets=0x%08lx\n", - p->size, p->frames, - (unsigned long)p->offsets); - break; - } -#endif case VIDIOC_G_FBUF: { struct v4l2_framebuffer *p=arg; |