drivers/media/usb/uvc/uvc_ctrl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
This avoids a variable loop shadowing occurring between the local loop
iterating through the uvc_entity's controls and the global one going
through the pending async controls of the file handle
Cc: stable@kernel.org
Fixes: 10acb9101355 ("media: uvcvideo: Increase/decrease the PM counter per IOCTL")
Signed-off-by: Desnes Nunes <desnesn@redhat.com>
---
drivers/media/usb/uvc/uvc_ctrl.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c
index 303b7509ec47..6b9486749c3f 100644
--- a/drivers/media/usb/uvc/uvc_ctrl.c
+++ b/drivers/media/usb/uvc/uvc_ctrl.c
@@ -3299,7 +3299,6 @@ int uvc_ctrl_init_device(struct uvc_device *dev)
void uvc_ctrl_cleanup_fh(struct uvc_fh *handle)
{
struct uvc_entity *entity;
- int i;
guard(mutex)(&handle->chain->ctrl_mutex);
@@ -3317,7 +3316,7 @@ void uvc_ctrl_cleanup_fh(struct uvc_fh *handle)
if (!WARN_ON(handle->pending_async_ctrls))
return;
- for (i = 0; i < handle->pending_async_ctrls; i++)
+ for (unsigned int i = 0; i < handle->pending_async_ctrls; i++)
uvc_pm_put(handle->stream->dev);
}
--
2.50.0
Hi Desnes, Thank you for the patch. On Tue, Jul 08, 2025 at 11:46:28AM -0300, Desnes Nunes wrote: > This avoids a variable loop shadowing occurring between the local loop > iterating through the uvc_entity's controls and the global one going > through the pending async controls of the file handle s/handle/handle./ (easily handled when applying the patch, no need to resend) > Cc: stable@kernel.org > Fixes: 10acb9101355 ("media: uvcvideo: Increase/decrease the PM counter per IOCTL") I think CI will ask for Cc to go after Fixes. If so that can also be handled when applying. > Signed-off-by: Desnes Nunes <desnesn@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/media/usb/uvc/uvc_ctrl.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c > index 303b7509ec47..6b9486749c3f 100644 > --- a/drivers/media/usb/uvc/uvc_ctrl.c > +++ b/drivers/media/usb/uvc/uvc_ctrl.c > @@ -3299,7 +3299,6 @@ int uvc_ctrl_init_device(struct uvc_device *dev) > void uvc_ctrl_cleanup_fh(struct uvc_fh *handle) > { > struct uvc_entity *entity; > - int i; > > guard(mutex)(&handle->chain->ctrl_mutex); > > @@ -3317,7 +3316,7 @@ void uvc_ctrl_cleanup_fh(struct uvc_fh *handle) > if (!WARN_ON(handle->pending_async_ctrls)) > return; > > - for (i = 0; i < handle->pending_async_ctrls; i++) > + for (unsigned int i = 0; i < handle->pending_async_ctrls; i++) > uvc_pm_put(handle->stream->dev); > } > -- Regards, Laurent Pinchart
Hi, On 8-Jul-25 6:43 PM, Laurent Pinchart wrote: > Hi Desnes, > > Thank you for the patch. > > On Tue, Jul 08, 2025 at 11:46:28AM -0300, Desnes Nunes wrote: >> This avoids a variable loop shadowing occurring between the local loop >> iterating through the uvc_entity's controls and the global one going >> through the pending async controls of the file handle > > s/handle/handle./ > > (easily handled when applying the patch, no need to resend) > >> Cc: stable@kernel.org >> Fixes: 10acb9101355 ("media: uvcvideo: Increase/decrease the PM counter per IOCTL") > > I think CI will ask for Cc to go after Fixes. If so that can also be > handled when applying. > >> Signed-off-by: Desnes Nunes <desnesn@redhat.com> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Thank you both for the patch and review. I've amended the commit message while applying as suggested by Laurent and I have merged this into: https://gitlab.freedesktop.org/linux-media/users/uvc/-/commits/for-next/ Regards, Hans >> --- >> drivers/media/usb/uvc/uvc_ctrl.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c >> index 303b7509ec47..6b9486749c3f 100644 >> --- a/drivers/media/usb/uvc/uvc_ctrl.c >> +++ b/drivers/media/usb/uvc/uvc_ctrl.c >> @@ -3299,7 +3299,6 @@ int uvc_ctrl_init_device(struct uvc_device *dev) >> void uvc_ctrl_cleanup_fh(struct uvc_fh *handle) >> { >> struct uvc_entity *entity; >> - int i; >> >> guard(mutex)(&handle->chain->ctrl_mutex); >> >> @@ -3317,7 +3316,7 @@ void uvc_ctrl_cleanup_fh(struct uvc_fh *handle) >> if (!WARN_ON(handle->pending_async_ctrls)) >> return; >> >> - for (i = 0; i < handle->pending_async_ctrls; i++) >> + for (unsigned int i = 0; i < handle->pending_async_ctrls; i++) >> uvc_pm_put(handle->stream->dev); >> } >> >
© 2016 - 2025 Red Hat, Inc.