summaryrefslogtreecommitdiff
path: root/drivers/media/video/v4l2-ctrls.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2011-02-22 12:31:07 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 20:32:04 -0300
commit87a0c94ce616b231f3c0bd09d7dbd39d43b0557a (patch)
tree21205358c9ea2cc7b58c9b06b16a3bb7dcf08093 /drivers/media/video/v4l2-ctrls.c
parentfb8decfabdf841a199b297076ff9f890dee55e53 (diff)
downloadlinux-3.10-87a0c94ce616b231f3c0bd09d7dbd39d43b0557a.tar.gz
linux-3.10-87a0c94ce616b231f3c0bd09d7dbd39d43b0557a.tar.bz2
linux-3.10-87a0c94ce616b231f3c0bd09d7dbd39d43b0557a.zip
[media] v4l2-ctrls: Fix control enumeration for multiple subdevs with ctrl
v4l2-ctl and qv4l2 enumerate controls using V4L2_CTRL_FLAG_NEXT_CTRL, falling back to the old method if the flag isn't supported. The v4l2_subdev_queryctrl function will currently handle that flag, but for the controls of the subdev only. This isn't right, it should refuse this flag, otherwise v4l2-ctl will only see the controls of the first subdev. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/v4l2-ctrls.c')
-rw-r--r--drivers/media/video/v4l2-ctrls.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index ef66d2af0c5..2412f08527a 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -1364,6 +1364,8 @@ EXPORT_SYMBOL(v4l2_queryctrl);
int v4l2_subdev_queryctrl(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc)
{
+ if (qc->id & V4L2_CTRL_FLAG_NEXT_CTRL)
+ return -EINVAL;
return v4l2_queryctrl(sd->ctrl_handler, qc);
}
EXPORT_SYMBOL(v4l2_subdev_queryctrl);