Message ID | 20220630230713.10580-7-laurent.pinchart@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: rkisp1: Cleanups and add support for i.MX8MP | expand |
Hi Laurent, On Fri, Jul 01, 2022 at 02:06:24AM +0300, Laurent Pinchart wrote: > 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> > --- > drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c > index 97d569968285..248f0172ca62 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c > @@ -523,7 +523,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) { > @@ -543,6 +543,7 @@ static int rkisp1_probe(struct platform_device *pdev) > 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; > }
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c index 97d569968285..248f0172ca62 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c @@ -523,7 +523,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) { @@ -543,6 +543,7 @@ static int rkisp1_probe(struct platform_device *pdev) 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; }