]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: rkisp1: Disable runtime PM in probe error path
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 14 Jun 2022 19:10:36 +0000 (20:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 22:52:43 +0000 (14:52 -0800)
[ Upstream commit 13c9810281f8b24af9b7712cd84a1fce61843e93 ]

If the v4l2_device_register() call fails, runtime PM is left enabled.
Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Stable-dep-of: 452f604a4683 ("media: rkisp1: Fix media device memory leak")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c

index 560f928c37520978dc0f449955d5705ae220b19e..79cfa99f2a64f7546ebad78b823291f3c5d58c69 100644 (file)
@@ -514,7 +514,7 @@ static int rkisp1_probe(struct platform_device *pdev)
 
        ret = v4l2_device_register(rkisp1->dev, &rkisp1->v4l2_dev);
        if (ret)
-               return ret;
+               goto err_pm_runtime_disable;
 
        ret = media_device_register(&rkisp1->media_dev);
        if (ret) {
@@ -534,6 +534,7 @@ err_unreg_media_dev:
        media_device_unregister(&rkisp1->media_dev);
 err_unreg_v4l2_dev:
        v4l2_device_unregister(&rkisp1->v4l2_dev);
+err_pm_runtime_disable:
        pm_runtime_disable(&pdev->dev);
        return ret;
 }