media: mx2_emmaprp: Fix memleak in emmaprp_probe
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Wed, 26 Aug 2020 09:26:04 +0000 (11:26 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 26 Sep 2020 08:15:39 +0000 (10:15 +0200)
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>
drivers/media/platform/mx2_emmaprp.c

index df78df5..08a5473 100644 (file)
@@ -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)