]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/media/video/sn9c102/sn9c102_core.c
[media] sn9c102: convert to unlocked_ioctl
[mv-sheeva.git] / drivers / media / video / sn9c102 / sn9c102_core.c
index cbf8087b286fd8ae477a2e1aa0bd21321176eb06..f49fbfb7dc1377800da49d0c723caa13a5d14e27 100644 (file)
@@ -2295,7 +2295,7 @@ sn9c102_vidioc_s_ctrl(struct sn9c102_device* cam, void __user * arg)
        if (copy_from_user(&ctrl, arg, sizeof(ctrl)))
                return -EFAULT;
 
-       for (i = 0; i < ARRAY_SIZE(s->qctrl); i++)
+       for (i = 0; i < ARRAY_SIZE(s->qctrl); i++) {
                if (ctrl.id == s->qctrl[i].id) {
                        if (s->qctrl[i].flags & V4L2_CTRL_FLAG_DISABLED)
                                return -EINVAL;
@@ -2305,7 +2305,9 @@ sn9c102_vidioc_s_ctrl(struct sn9c102_device* cam, void __user * arg)
                        ctrl.value -= ctrl.value % s->qctrl[i].step;
                        break;
                }
-
+       }
+       if (i == ARRAY_SIZE(s->qctrl))
+               return -EINVAL;
        if ((err = s->set_ctrl(cam, &ctrl)))
                return err;
 
@@ -3236,7 +3238,7 @@ static const struct v4l2_file_operations sn9c102_fops = {
        .owner = THIS_MODULE,
        .open = sn9c102_open,
        .release = sn9c102_release,
-       .ioctl = sn9c102_ioctl,
+       .unlocked_ioctl = sn9c102_ioctl,
        .read = sn9c102_read,
        .poll = sn9c102_poll,
        .mmap = sn9c102_mmap,