Re: [PATCH] media: mali-c55: Free the ISP control handler on unregister

From: Jacopo Mondi

Date: Wed Sep 30 2026 - 11:30:51 EST


Hi David

On Sun, Sep 06, 2026 at 08:10:30AM +0100, David Carlier wrote:
> mali_c55_isp_init_controls() initialises isp->handler and adds the
> capabilities control, but mali_c55_unregister_isp() never frees it.
> Neither v4l2_device_unregister_subdev() nor v4l2_subdev_cleanup()
> touches sd->ctrl_handler, so the handler and its control are leaked on
> every unbind or module removal. The probe error path already frees it,
> and the TPG subdevice does so in its own unregister function.
>
> Fixes: d5f281f3dd29 ("media: mali-c55: Add Mali-C55 ISP driver")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: David Carlier <devnexen@xxxxxxxxx>

Reviewed-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>

> ---
> drivers/media/platform/arm/mali-c55/mali-c55-isp.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-isp.c b/drivers/media/platform/arm/mali-c55/mali-c55-isp.c
> index e128adf6ee37..c45a3760e084 100644
> --- a/drivers/media/platform/arm/mali-c55/mali-c55-isp.c
> +++ b/drivers/media/platform/arm/mali-c55/mali-c55-isp.c
> @@ -641,6 +641,7 @@ void mali_c55_unregister_isp(struct mali_c55 *mali_c55)
>
> mutex_destroy(&isp->capture_lock);
> v4l2_device_unregister_subdev(&isp->sd);
> + v4l2_ctrl_handler_free(&isp->handler);
> v4l2_subdev_cleanup(&isp->sd);
> media_entity_cleanup(&isp->sd.entity);
> }
> --
> 2.55.0
>
>