On Thu Nov 14 19:10:30 2024 +0000, Ricardo Ribalda wrote: > If there is an event that needs the V4L2_EVENT_CTRL_CH_FLAGS flag, all > the following events will have that flag, regardless if they need it or > not. > > This is because we keep using the same variable all the time and we do > not reset its original value. > > Cc: sta...@vger.kernel.org > Fixes: 805e9b4a06bf ("[media] uvcvideo: Send control change events for slave > ctrls when the master changes") > Signed-off-by: Ricardo Ribalda <riba...@chromium.org> > Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com> > Link: > https://lore.kernel.org/r/20241114-uvc-roi-v15-1-64cfeb56b...@chromium.org > Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com> > Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>
Patch committed. Thanks, Mauro Carvalho Chehab drivers/media/usb/uvc/uvc_ctrl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c index 4fe26e82e3d1..bab9fdac98e6 100644 --- a/drivers/media/usb/uvc/uvc_ctrl.c +++ b/drivers/media/usb/uvc/uvc_ctrl.c @@ -1673,13 +1673,13 @@ static void uvc_ctrl_send_events(struct uvc_fh *handle, { struct uvc_control_mapping *mapping; struct uvc_control *ctrl; - u32 changes = V4L2_EVENT_CTRL_CH_VALUE; unsigned int i; unsigned int j; for (i = 0; i < xctrls_count; ++i) { - ctrl = uvc_find_control(handle->chain, xctrls[i].id, &mapping); + u32 changes = V4L2_EVENT_CTRL_CH_VALUE; + ctrl = uvc_find_control(handle->chain, xctrls[i].id, &mapping); if (ctrl->info.flags & UVC_CTRL_FLAG_ASYNCHRONOUS) /* Notification will be sent from an Interrupt event. */ continue;