diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/uvc/uvc_v4l2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c index 2a80caa54fb4..43b05a7ecdce 100644 --- a/drivers/media/video/uvc/uvc_v4l2.c +++ b/drivers/media/video/uvc/uvc_v4l2.c | |||
@@ -648,7 +648,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
648 | 648 | ||
649 | case VIDIOC_S_INPUT: | 649 | case VIDIOC_S_INPUT: |
650 | { | 650 | { |
651 | u8 input = *(u32 *)arg + 1; | 651 | u32 input = *(u32 *)arg + 1; |
652 | 652 | ||
653 | if ((ret = uvc_acquire_privileges(handle)) < 0) | 653 | if ((ret = uvc_acquire_privileges(handle)) < 0) |
654 | return ret; | 654 | return ret; |
@@ -660,7 +660,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
660 | break; | 660 | break; |
661 | } | 661 | } |
662 | 662 | ||
663 | if (input > video->selector->selector.bNrInPins) | 663 | if (input == 0 || input > video->selector->selector.bNrInPins) |
664 | return -EINVAL; | 664 | return -EINVAL; |
665 | 665 | ||
666 | return uvc_query_ctrl(video->dev, SET_CUR, video->selector->id, | 666 | return uvc_query_ctrl(video->dev, SET_CUR, video->selector->id, |