summary refs log tree commit diff
path: root/drivers/media
diff options
context:
space:
mode:
authorDinghao Liu <dinghao.liu@zju.edu.cn>2020-08-26 11:26:04 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-09-26 10:15:39 +0200
commit21d387b8d372f859d9e87fdcc7c3b4a432737f4d (patch)
tree5346b26de46e1fe3742032ce85721001e069ca8f /drivers/media
parent057e212eae72f8a2741310fa03f1f522cfe36187 (diff)
downloadlinux-21d387b8d372f859d9e87fdcc7c3b4a432737f4d.tar.gz
media: mx2_emmaprp: Fix memleak in emmaprp_probe
When platform_get_irq() fails, we should release
vfd and unregister pcdev->v4l2_dev just like the
subsequent error paths.

Fixes: d4e192cc44914 ("media: mx2_emmaprp: Check for platform_get_irq() error")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/mx2_emmaprp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/platform/mx2_emmaprp.c b/drivers/media/platform/mx2_emmaprp.c
index df78df59da45..08a5473b5610 100644
--- a/drivers/media/platform/mx2_emmaprp.c
+++ b/drivers/media/platform/mx2_emmaprp.c
@@ -852,8 +852,11 @@ static int emmaprp_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, pcdev);
 
 	irq = platform_get_irq(pdev, 0);
-	if (irq < 0)
-		return irq;
+	if (irq < 0) {
+		ret = irq;
+		goto rel_vdev;
+	}
+
 	ret = devm_request_irq(&pdev->dev, irq, emmaprp_irq, 0,
 			       dev_name(&pdev->dev), pcdev);
 	if (ret)