summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Ribalda <ribalda@chromium.org>2025-02-03 14:55:43 +0300
committerHans Verkuil <hverkuil@xs4all.nl>2025-03-03 20:23:35 +0300
commit66dcae2c3b29f76f3acdb93105f2bfdb110936b3 (patch)
tree66ffc4575bb4fb4e5db5d2cca2678ed987e71284
parent2002ce4443282d469b1b6ceff970bf03a1164fce (diff)
downloadlinux-66dcae2c3b29f76f3acdb93105f2bfdb110936b3.tar.xz
media: uvcvideo: uvc_ioctl_(g|s)_ext_ctrls: handle NoP case
If nothing needs to be done. Exit early. Reviewed-by: Hans de Goede <hdegoede@redhat.com> Tested-by: Yunke Cao <yunkec@google.com> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Link: https://lore.kernel.org/r/20250203-uvc-roi-v17-7-5900a9fed613@chromium.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
-rw-r--r--drivers/media/usb/uvc/uvc_v4l2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
index 9493ab375f07..4025811fb9e7 100644
--- a/drivers/media/usb/uvc/uvc_v4l2.c
+++ b/drivers/media/usb/uvc/uvc_v4l2.c
@@ -1030,6 +1030,9 @@ static int uvc_ioctl_g_ext_ctrls(struct file *file, void *fh,
u32 which;
int ret;
+ if (!ctrls->count)
+ return 0;
+
switch (ctrls->which) {
case V4L2_CTRL_WHICH_DEF_VAL:
case V4L2_CTRL_WHICH_CUR_VAL:
@@ -1070,6 +1073,9 @@ static int uvc_ioctl_s_try_ext_ctrls(struct uvc_fh *handle,
unsigned int i;
int ret;
+ if (!ctrls->count)
+ return 0;
+
ret = uvc_ctrl_check_access(chain, ctrls, ioctl);
if (ret < 0)
return ret;