summary refs log tree commit diff
diff options
context:
space:
mode:
authorMirza Krak <mirza.krak@endian.se>2017-11-15 08:24:46 +0000
committerSandy Huang <hjc@rock-chips.com>2017-11-27 09:30:53 +0800
commit517f56839f581618d24f2e67a35738a5c6cbaecb (patch)
tree2b9514f3c8882fcc6d6644fbd769d31e78bc0897
parent9271c0ca573e02a360b636ecd8cb408852f4e9f6 (diff)
downloadlinux-517f56839f581618d24f2e67a35738a5c6cbaecb.tar.gz
drm/rockchip: dw-mipi-dsi: fix possible un-balanced runtime PM enable
In the case where the bind gets deferred we would end up with a
un-balanced runtime PM enable call.

Fix this by simply moving the pm_runtime_enable call to the end of
the bind function when all paths have succeeded.

Signed-off-by: Mirza Krak <mirza.krak@endian.se>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1510734286-37434-1-git-send-email-mirza.krak@endian.se
-rw-r--r--drivers/gpu/drm/rockchip/dw-mipi-dsi.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
index 9a20b9dc27c8..f7fc652b0027 100644
--- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
@@ -1275,8 +1275,6 @@ static int dw_mipi_dsi_bind(struct device *dev, struct device *master,
 		goto err_pllref;
 	}
 
-	pm_runtime_enable(dev);
-
 	dsi->dsi_host.ops = &dw_mipi_dsi_host_ops;
 	dsi->dsi_host.dev = dev;
 	ret = mipi_dsi_host_register(&dsi->dsi_host);
@@ -1291,6 +1289,7 @@ static int dw_mipi_dsi_bind(struct device *dev, struct device *master,
 	}
 
 	dev_set_drvdata(dev, dsi);
+	pm_runtime_enable(dev);
 	return 0;
 
 err_mipi_dsi_host: