[PATCH v2] media: cedrus: clean up media device on probe failure

Paul Kocialkowski paulk at sys-base.io
Tue May 5 06:09:26 PDT 2026


Hi,

On Thu 30 Apr 26, 23:25, 박명훈 wrote:
> From: Myeonghun Pak <mhun512 at gmail.com>
> 
> cedrus_probe() initializes the media device before registering the video
> device, the media controller, and the media device. If any of those later
> steps fails, probe returns without calling media_device_cleanup(), so the
> media device internals initialized by media_device_init() are left behind.
> 
> Add a media-device cleanup label to the probe unwind path and route video
> registration failures through it as well.

The label should be named "err_media" instead of "err_media_cleanup" to be
consistent with the other labels. With that fixed:

Reviewed-by: Paul Kocialkowski <paulk at sys-base.io>

Thanks for the fix!

Paul

> Fixes: 50e761516f2b8c ("media: platform: Add Cedrus VPU decoder driver")
> Cc: stable at vger.kernel.org
> Co-developed-by: Ijae Kim <ae878000 at gmail.com>
> Signed-off-by: Ijae Kim <ae878000 at gmail.com>
> Signed-off-by: Myeonghun Pak <mhun512 at gmail.com>
> ---
> Changes in v2:
> - Drop the now-unused err_m2m label.
> 
>  drivers/staging/media/sunxi/cedrus/cedrus.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c
> index 6600245dff..2c25654640 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
> @@ -507,7 +507,7 @@ static int cedrus_probe(struct platform_device *pdev)
>  	ret = video_register_device(vfd, VFL_TYPE_VIDEO, 0);
>  	if (ret) {
>  		v4l2_err(&dev->v4l2_dev, "Failed to register video device\n");
> -		goto err_m2m;
> +		goto err_media_cleanup;
>  	}
>  
>  	v4l2_info(&dev->v4l2_dev,
> @@ -533,6 +533,7 @@ static int cedrus_probe(struct platform_device *pdev)
>  	v4l2_m2m_unregister_media_controller(dev->m2m_dev);
>  err_video:
>  	video_unregister_device(&dev->vfd);
> -err_m2m:
> +err_media_cleanup:
> +	media_device_cleanup(&dev->mdev);
>  	v4l2_m2m_release(dev->m2m_dev);
>  err_v4l2:
> -- 
> 2.50.1

-- 
Paul Kocialkowski,

Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/

Expert in multimedia, graphics and embedded hardware support with Linux.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20260505/c8ecdcdc/attachment.sig>


More information about the linux-arm-kernel mailing list