drm/fsl-dcu: check for clk_prepare_enable() error
authorFabio Estevam <fabio.estevam@nxp.com>
Sat, 7 Oct 2017 22:36:51 +0000 (22:36 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Nov 2017 09:08:35 +0000 (10:08 +0100)
[ Upstream commit ef15d36154cc741d7ded4ae4fa0cf7987354e313 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/fsl-dcu/fsl_tcon.c

index 3194e54..faacc81 100644 (file)
@@ -89,9 +89,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;