Re: [PATCH v2] panfrost: Properly undo pm_runtime_enable when deferring a probe

From: Robin Murphy
Date: Wed Oct 23 2019 - 08:50:36 EST


On 2019-10-23 1:21 pm, Tomeu Vizoso wrote:
When deferring the probe because of a missing regulator, we were calling
pm_runtime_disable even if pm_runtime_enable wasn't called.

Move the call to pm_runtime_disable to the right place.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Reported-by: Chen-Yu Tsai <wens@xxxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Fixes: f4a3c6a44b35 ("drm/panfrost: Disable PM on probe failure")

I think that commit was right at the time, but actually we missed reordering the cleanup path to match the change in 635430797d3f. Otherwise, though,

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

---
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
index bc2ddeb55f5d..f21bc8a7ee3a 100644
--- a/drivers/gpu/drm/panfrost/panfrost_drv.c
+++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
@@ -556,11 +556,11 @@ static int panfrost_probe(struct platform_device *pdev)
return 0;
err_out2:
+ pm_runtime_disable(pfdev->dev);
panfrost_devfreq_fini(pfdev);
err_out1:
panfrost_device_fini(pfdev);
err_out0:
- pm_runtime_disable(pfdev->dev);
drm_dev_put(ddev);
return err;
}