summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHangyu Hua <hbh25y@gmail.com>2022-09-06 10:46:30 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-11-10 20:14:22 +0300
commitbe6e22f54623d8a856a4f167b25be73c2ff1ff80 (patch)
tree3d718418ba7e5d41adfe901ef1f1315681022889 /drivers
parentc5fd54a65c35fba67f9426e8ab92b0f0e96b616c (diff)
downloadlinux-be6e22f54623d8a856a4f167b25be73c2ff1ff80.tar.xz
media: meson: vdec: fix possible refcount leak in vdec_probe()
[ Upstream commit 7718999356234d9cc6a11b4641bb773928f1390f ] v4l2_device_unregister need to be called to put the refcount got by v4l2_device_register when vdec_probe fails or vdec_remove is called. Signed-off-by: Hangyu Hua <hbh25y@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/media/meson/vdec/vdec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c
index 5ccb3846c879..7a818ca15b37 100644
--- a/drivers/staging/media/meson/vdec/vdec.c
+++ b/drivers/staging/media/meson/vdec/vdec.c
@@ -1109,6 +1109,7 @@ static int vdec_probe(struct platform_device *pdev)
err_vdev_release:
video_device_release(vdev);
+ v4l2_device_unregister(&core->v4l2_dev);
return ret;
}
@@ -1117,6 +1118,7 @@ static int vdec_remove(struct platform_device *pdev)
struct amvdec_core *core = platform_get_drvdata(pdev);
video_unregister_device(core->vdev_dec);
+ v4l2_device_unregister(&core->v4l2_dev);
return 0;
}