[media] v4l2-ctrls: fix missing 'read-only' check

VIDIOC_S_CTRL did not check against read-only controls. Even worse, for
controls of type CTRL_CLASS it would cause a kernel oops since those controls
do not have a s_ctrl op.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Hans Verkuil 2011-01-16 11:03:28 -03:00 committed by Mauro Carvalho Chehab
parent 4999e27a62
commit c959acfddb

View file

@ -1824,6 +1824,9 @@ static int set_ctrl(struct v4l2_ctrl *ctrl, s32 *val)
int ret;
int i;
if (ctrl->flags & V4L2_CTRL_FLAG_READ_ONLY)
return -EACCES;
v4l2_ctrl_lock(ctrl);
/* Reset the 'is_new' flags of the cluster */