kernel_samsung_a53x/drivers/media/usb
Daniel Schaefer 7e215a359d media: uvcvideo: Override default flags
[ Upstream commit 86419686e66da5b90a07fb8a40ab138fe97189b5 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:20:09 +01:00
..
airspy Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
as102 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
au0828 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
b2c2 media: flexcop-usb: fix sanity check of bNumEndpoints 2024-11-19 12:27:06 +01:00
cpia2 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cx231xx media: cx231xx: fix a memleak in cx231xx_init_isoc 2024-11-18 12:12:40 +01:00
dvb-usb media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control() 2024-11-23 23:20:08 +01:00
dvb-usb-v2 media: dvb-usb-v2: af9035: fix missing unlock 2024-11-18 11:43:07 +01:00
em28xx media: em28xx: annotate unchecked call to media_device_register() 2024-11-19 08:44:51 +01:00
go7007 media: go7007: fix a memleak in go7007_load_encoder 2024-11-19 08:44:55 +01:00
gspca media: gspca: cpia1: shift-out-of-bounds in set_flicker 2024-11-18 11:43:14 +01:00
hackrf Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hdpvr Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msi2500 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pvrusb2 media: pvrusb2: fix uaf in pvr2_context_set_notify 2024-11-19 08:44:55 +01:00
pwc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
s2255 media: s2255: Use refcount_t instead of atomic_t for num_channels 2024-11-19 14:19:40 +01:00
siano Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stk1160 media: stk1160: fix bounds checking in stk1160_copy_video() 2024-11-19 12:27:06 +01:00
stkwebcam Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tm6000 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ttusb-budget Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ttusb-dec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
usbtv Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uvc media: uvcvideo: Override default flags 2024-11-23 23:20:09 +01:00
zr364xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00