summaryrefslogtreecommitdiff
path: root/drivers/staging/media/meson
diff options
context:
space:
mode:
authorHangyu Hua <hbh25y@gmail.com>2022-09-06 09:46:30 +0200
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-09-24 08:55:43 +0200
commit7718999356234d9cc6a11b4641bb773928f1390f (patch)
treebb792b212c2840ba013700012e0d53f14a7fba69 /drivers/staging/media/meson
parent594b6bdde2e7833a56413de5092b6e4188d33ff7 (diff)
media: meson: vdec: fix possible refcount leak in vdec_probe()
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>
Diffstat (limited to 'drivers/staging/media/meson')
-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 8549d95be0f2..52f224d8def1 100644
--- a/drivers/staging/media/meson/vdec/vdec.c
+++ b/drivers/staging/media/meson/vdec/vdec.c
@@ -1102,6 +1102,7 @@ static int vdec_probe(struct platform_device *pdev)
err_vdev_release:
video_device_release(vdev);
+ v4l2_device_unregister(&core->v4l2_dev);
return ret;
}
@@ -1110,6 +1111,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;
}