Re: [PATCH] media: uvcvideo: fix build error in uvc_ctrl_cleanup_fh

From: Greg KH
Date: Mon Jun 30 2025 - 11:33:46 EST


On Mon, Jun 30, 2025 at 12:01:06PM -0300, Desnes Nunes wrote:
> This fixes the following compilation failure: "error: ‘for’ loop
> initial declarations are only allowed in C99 or C11 mode"
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 221cd51efe45 ("media: uvcvideo: Remove dangling pointers")
> Signed-off-by: Desnes Nunes <desnesn@xxxxxxxxxx>
> ---
> 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 44b6513c5264..532615d8484b 100644
> --- a/drivers/media/usb/uvc/uvc_ctrl.c
> +++ b/drivers/media/usb/uvc/uvc_ctrl.c
> @@ -3260,7 +3260,7 @@ int uvc_ctrl_init_device(struct uvc_device *dev)
> void uvc_ctrl_cleanup_fh(struct uvc_fh *handle)
> {
> struct uvc_entity *entity;
> - int i;
> + unsigned int i;
>
> guard(mutex)(&handle->chain->ctrl_mutex);

If your compiler can handle this guard(mutex) line, then:

>
> @@ -3268,7 +3268,7 @@ void uvc_ctrl_cleanup_fh(struct uvc_fh *handle)
> return;
>
> list_for_each_entry(entity, &handle->chain->dev->entities, list) {
> - for (unsigned int i = 0; i < entity->ncontrols; ++i) {

It can also handle that line.

Are you sure you are using a sane compiler?

confused,

greg k-h