[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