From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753716AbdJGWsa (ORCPT ); Sat, 7 Oct 2017 18:48:30 -0400 Received: from fldsmtpe03.verizon.com ([140.108.26.142]:56998 "EHLO fldsmtpe03.verizon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753510AbdJGWiV (ORCPT ); Sat, 7 Oct 2017 18:38:21 -0400 From: "Levin, Alexander (Sasha Levin)" Cc: Fabio Estevam , Stefan Agner , "Levin, Alexander (Sasha Levin)" X-Host: pioneer.tdc.vzwcorp.com To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" Subject: [PATCH review for 4.9 21/50] drm/fsl-dcu: check for clk_prepare_enable() error Thread-Topic: [PATCH review for 4.9 21/50] drm/fsl-dcu: check for clk_prepare_enable() error Thread-Index: AQHTP7zEnbQsK7jSq0ShzWG4ecUhrw== Date: Sat, 7 Oct 2017 22:36:51 +0000 Message-ID: <20171007223636.24797-21-alexander.levin@verizon.com> References: <20171007223636.24797-1-alexander.levin@verizon.com> In-Reply-To: <20171007223636.24797-1-alexander.levin@verizon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.144.60.250] Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by nfs id v97MmYBp029799 From: Fabio Estevam [ 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 Signed-off-by: Stefan Agner Signed-off-by: Sasha Levin --- drivers/gpu/drm/fsl-dcu/fsl_tcon.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/fsl-dcu/fsl_tcon.c b/drivers/gpu/drm/fsl-dcu/fsl_tcon.c index 3194e544ee27..faacc813254c 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_tcon.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_tcon.c @@ -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; -- 2.11.0