]> www.infradead.org Git - users/jedix/linux-maple.git/commit
media: uvcvideo: Override default flags
authorDaniel Schaefer <dhs@frame.work>
Sun, 2 Jun 2024 06:50:53 +0000 (14:50 +0800)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 16 Jun 2024 23:39:09 +0000 (02:39 +0300)
commit86419686e66da5b90a07fb8a40ab138fe97189b5
tree21e1d64389b9c5617cf6418c5cf7ee4ddc24dc34
parentc8931ef55bd325052ec496f242aea7f6de47dc9c
media: uvcvideo: Override default flags

When the UVC device has a control that is readonly it doesn't set the
SET_CUR flag. For example the privacy control has SET_CUR flag set in
the defaults in the `uvc_ctrls` variable. Even if the device does not
have it set, it's not cleared by uvc_ctrl_get_flags().

Originally written with assignment in commit 859086ae3636 ("media:
uvcvideo: Apply flags from device to actual properties"). But changed to
|= in commit 0dc68cabdb62 ("media: uvcvideo: Prevent setting unavailable
flags"). It would not clear the default flags.

With this patch applied the correct flags are reported to user space.
Tested with:

```
> v4l2-ctl --list-ctrls | grep privacy
privacy 0x009a0910 (bool)   : default=0 value=0 flags=read-only
```

Signed-off-by: Daniel Schaefer <dhs@frame.work>
Fixes: 0dc68cabdb62 ("media: uvcvideo: Prevent setting unavailable flags")
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20240602065053.36850-1-dhs@frame.work
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/media/usb/uvc/uvc_ctrl.c