V4L/DVB (5569): Fix: v4l1_compat should be called only if V4L1_COMPAT
Added also some explanations about V4L1 handling Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
1088b13735
commit
452c0fb46b
@ -438,6 +438,12 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_V4L1_COMPAT
|
#ifdef CONFIG_VIDEO_V4L1_COMPAT
|
||||||
|
/***********************************************************
|
||||||
|
Handles calls to the obsoleted V4L1 API
|
||||||
|
Due to the nature of VIDIOCGMBUF, each driver that supports
|
||||||
|
V4L1 should implement its own handler for this ioctl.
|
||||||
|
***********************************************************/
|
||||||
|
|
||||||
/* --- streaming capture ------------------------------------- */
|
/* --- streaming capture ------------------------------------- */
|
||||||
if (cmd == VIDIOCGMBUF) {
|
if (cmd == VIDIOCGMBUF) {
|
||||||
struct video_mbuf *p=arg;
|
struct video_mbuf *p=arg;
|
||||||
@ -453,11 +459,17 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
|
|||||||
(unsigned long)p->offsets);
|
(unsigned long)p->offsets);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
/********************************************************
|
||||||
|
All other V4L1 calls are handled by v4l1_compat module.
|
||||||
|
Those calls will be translated into V4L2 calls, and
|
||||||
|
__video_do_ioctl will be called again, with one or more
|
||||||
|
V4L2 ioctls.
|
||||||
|
********************************************************/
|
||||||
if (_IOC_TYPE(cmd)=='v')
|
if (_IOC_TYPE(cmd)=='v')
|
||||||
return v4l_compat_translate_ioctl(inode,file,cmd,arg,
|
return v4l_compat_translate_ioctl(inode,file,cmd,arg,
|
||||||
__video_do_ioctl);
|
__video_do_ioctl);
|
||||||
|
#endif
|
||||||
|
|
||||||
switch(cmd) {
|
switch(cmd) {
|
||||||
/* --- capabilities ------------------------------------------ */
|
/* --- capabilities ------------------------------------------ */
|
||||||
|
Loading…
Reference in New Issue
Block a user