diff mbox series

drm/rockchip: Fix runtime PM imbalance on error

Message ID 1642517463-19769-1-git-send-email-lyz_cs@pku.edu.cn (mailing list archive)
State New
Headers show
Series drm/rockchip: Fix runtime PM imbalance on error | expand

Commit Message

Yongzhi Liu Jan. 18, 2022, 2:51 p.m. UTC
pm_runtime_get_sync() will increase the rumtime PM counter
even it returns an error. Thus a pairing decrement is needed
to prevent refcount leak. Fix this by replacing this API with
pm_runtime_resume_and_get(), which will not change the runtime
PM counter on error.

Signed-off-by: Yongzhi Liu <lyz_cs@pku.edu.cn>
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series


diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 3e8d9e2..9fb83b6 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1930,7 +1930,7 @@  static int vop_initial(struct vop *vop)
 		return PTR_ERR(vop->dclk);
-	ret = pm_runtime_get_sync(vop->dev);
+	ret = pm_runtime_resume_get(vop->dev);
 	if (ret < 0) {
 		DRM_DEV_ERROR(vop->dev, "failed to get pm runtime: %d\n", ret);
 		return ret;