aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2011-01-16 09:21:40 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-01-19 08:46:15 -0500
commit829fb2dcb5252c5064d12cdaf65d2828420e07b3 (patch)
tree710bd771a4f003afa69c8f379837769f9b51094a
parentc959acfddb3d24ecfdae1a280a7a1785d9df81d1 (diff)
[media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs
When queryctrl is called with a V4L2_CID_PRIVATE_BASE control ID, then currently it is replaced by the real internal ID. This is not according to the spec so keep the V4L2_CID_PRIVATE_BASE ID in this case. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/v4l2-ctrls.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 22a9a722f520..01251431fd2a 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -1344,7 +1344,10 @@ int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *qc)
1344 1344
1345 ctrl = ref->ctrl; 1345 ctrl = ref->ctrl;
1346 memset(qc, 0, sizeof(*qc)); 1346 memset(qc, 0, sizeof(*qc));
1347 qc->id = ctrl->id; 1347 if (id >= V4L2_CID_PRIVATE_BASE)
1348 qc->id = id;
1349 else
1350 qc->id = ctrl->id;
1348 strlcpy(qc->name, ctrl->name, sizeof(qc->name)); 1351 strlcpy(qc->name, ctrl->name, sizeof(qc->name));
1349 qc->minimum = ctrl->minimum; 1352 qc->minimum = ctrl->minimum;
1350 qc->maximum = ctrl->maximum; 1353 qc->maximum = ctrl->maximum;