aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@nxp.com>2016-08-21 22:22:54 -0400
committerStefan Agner <stefan@agner.ch>2016-09-05 15:32:55 -0400
commite0dc7c837dd0f514abce47101c04ce0ce243188e (patch)
tree4a5d57cb6f404adbd72e61e6792f641eb2881755
parentacd4d615bc5b4035a542ea3458fdee3b5d6f0f78 (diff)
drm/fsl-dcu: disable clock on error path
In fsl_dcu_drm_pm_resume() we should disable the previously enabled clock (fsl_dev->clk) when enabling fsl_dev->pix_clk fails. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
-rw-r--r--drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
index 5fc8ebdf40b2..092aaecc7482 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
@@ -270,7 +270,7 @@ static int fsl_dcu_drm_pm_resume(struct device *dev)
270 ret = clk_prepare_enable(fsl_dev->pix_clk); 270 ret = clk_prepare_enable(fsl_dev->pix_clk);
271 if (ret < 0) { 271 if (ret < 0) {
272 dev_err(dev, "failed to enable pix clk\n"); 272 dev_err(dev, "failed to enable pix clk\n");
273 return ret; 273 goto disable_dcu_clk;
274 } 274 }
275 275
276 fsl_dcu_drm_init_planes(fsl_dev->drm); 276 fsl_dcu_drm_init_planes(fsl_dev->drm);
@@ -284,6 +284,10 @@ static int fsl_dcu_drm_pm_resume(struct device *dev)
284 enable_irq(fsl_dev->irq); 284 enable_irq(fsl_dev->irq);
285 285
286 return 0; 286 return 0;
287
288disable_dcu_clk:
289 clk_disable_unprepare(fsl_dev->clk);
290 return ret;
287} 291}
288#endif 292#endif
289 293