Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754759AbbERTIw (ORCPT ); Mon, 18 May 2015 15:08:52 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:61626 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753796AbbERTIt (ORCPT ); Mon, 18 May 2015 15:08:49 -0400 From: Vladimir Zapolskiy To: Philipp Zabel , =?UTF-8?q?Heiko=20St=C3=BCbner?= , Arnd Bergmann , Greg Kroah-Hartman CC: Subject: [PATCH v3 1/9] misc: sram: fix enabled clock leak on error path Date: Mon, 18 May 2015 22:08:34 +0300 Message-ID: <1431976122-4228-2-git-send-email-vladimir_zapolskiy@mentor.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1431976122-4228-1-git-send-email-vladimir_zapolskiy@mentor.com> References: <1431976122-4228-1-git-send-email-vladimir_zapolskiy@mentor.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [137.202.0.76] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1266 Lines: 42 If devm_gen_pool_create() fails, the previously enabled sram->clk is not disabled on probe() exit. Signed-off-by: Vladimir Zapolskiy --- drivers/misc/sram.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/misc/sram.c b/drivers/misc/sram.c index eeaaf5f..b44a423 100644 --- a/drivers/misc/sram.c +++ b/drivers/misc/sram.c @@ -90,16 +90,17 @@ static int sram_probe(struct platform_device *pdev) if (!sram) return -ENOMEM; + sram->pool = devm_gen_pool_create(&pdev->dev, + ilog2(SRAM_GRANULARITY), -1); + if (!sram->pool) + return -ENOMEM; + sram->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(sram->clk)) sram->clk = NULL; else clk_prepare_enable(sram->clk); - sram->pool = devm_gen_pool_create(&pdev->dev, ilog2(SRAM_GRANULARITY), -1); - if (!sram->pool) - return -ENOMEM; - /* * We need an additional block to mark the end of the memory region * after the reserved blocks from the dt are processed. -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/