Hi, On Thu 30 Apr 26, 23:25, 박명훈 wrote: > From: Myeonghun Pak > > 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 Thanks for the fix! Paul > Fixes: 50e761516f2b8c ("media: platform: Add Cedrus VPU decoder driver") > Cc: stable@vger.kernel.org > Co-developed-by: Ijae Kim > Signed-off-by: Ijae Kim > Signed-off-by: Myeonghun Pak > --- > 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.