diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2011-01-16 09:21:40 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-01-19 08:46:15 -0500 |
commit | 829fb2dcb5252c5064d12cdaf65d2828420e07b3 (patch) | |
tree | 710bd771a4f003afa69c8f379837769f9b51094a | |
parent | c959acfddb3d24ecfdae1a280a7a1785d9df81d1 (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.c | 5 |
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; |