drm/fsl-dcu: check for clk_prepare_enable() error
authorFabio Estevam <fabio.estevam@nxp.com>
Wed, 28 Dec 2016 16:48:48 +0000 (14:48 -0200)
committerStefan Agner <stefan@agner.ch>
Wed, 8 Feb 2017 04:28:04 +0000 (20:28 -0800)
clk_prepare_enable() may fail, so we should better check its return
value.

Also place the of_node_put() function right after clk_prepare_enable(),
in order to avoid calling of_node_put() twice in case clk_prepare_enable()
fails.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
drivers/gpu/drm/fsl-dcu/fsl_tcon.c

index 2fbb7eedb0664b6a9fce4c50936cab0ad309dc6e..b3d70a63c5a34f64c86df14f726ddd44a2fe98fb 100644 (file)
@@ -87,9 +87,13 @@ struct fsl_tcon *fsl_tcon_init(struct device *dev)
                goto err_node_put;
        }
 
-       of_node_put(np);
-       clk_prepare_enable(tcon->ipg_clk);
+       ret = clk_prepare_enable(tcon->ipg_clk);
+       if (ret) {
+               dev_err(dev, "Couldn't enable the TCON clock\n");
+               goto err_node_put;
+       }
 
+       of_node_put(np);
        dev_info(dev, "Using TCON in bypass mode\n");
 
        return tcon;