Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754402AbcDTJZK (ORCPT ); Wed, 20 Apr 2016 05:25:10 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:21436 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752993AbcDTJZG (ORCPT ); Wed, 20 Apr 2016 05:25:06 -0400 X-AuditID: cbfec7f5-f792a6d000001302-c9-57174aeed389 From: Krzysztof Kozlowski To: Kukjin Kim , Krzysztof Kozlowski , Wolfram Sang , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Javier Martinez Canillas , Bartlomiej Zolnierkiewicz Subject: [PATCH 1/3] i2c: s3c2410: Add missing clock unprepare on probe() error path Date: Wed, 20 Apr 2016 11:24:50 +0200 Message-id: <1461144292-22141-1-git-send-email-k.kozlowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupkluLIzCtJLcpLzFFi42I5/e/4Nd13XuLhBjcemVhsnLGe1eLN2zVM Fq9fGFr0P37NbLHp8TVWi46/XxgtLu+aw2Yx4/w+JouVJ2YxO3B6bFrVyeaxeUm9x5b+u+we fVtWMXqcPPWExePzJrkAtigum5TUnMyy1CJ9uwSujGtTpQqa2Cr+LZjG3sDYwtrFyMkhIWAi sW/RdyYIW0ziwr31bF2MXBxCAksZJS78eMIM4TQySdzteMYCUsUmYCyxefkSsCoRgT+MEj8/ 3wBrZxbIlfi37wIziC0sECbR3L8VzGYRUJU487YXbB2vgLvE7U8XoNbJSZw8Npl1AiP3AkaG VYyiqaXJBcVJ6blGesWJucWleel6yfm5mxghAfR1B+PSY1aHGAU4GJV4eFcUiYYLsSaWFVfm HmKU4GBWEuHtcBMPF+JNSaysSi3Kjy8qzUktPsQozcGiJM47c9f7ECGB9MSS1OzU1ILUIpgs EwenVANjz+VPiu/r/HW7lQ93lwTm3MxcIBKz0Vj9wrP/mREW9w0nBJhb8MtKTxPn/ed0gK9Z TzHPn/PwiVMtnoty95cbHZ7RvHZ5VFvrleSjEXrzt52/xiZ6cwtXbHnZ2vKXjkUKN06qSZp2 5Vde/jV9K/fMT/3HbN45R306JXNKMaou52l2x7HO5dlKLMUZiYZazEXFiQB62EiuHAIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 746 Lines: 22 If during probe() the s3c24xx_i2c_init() failed, the clock was left in disabled but prepared state. Signed-off-by: Krzysztof Kozlowski --- drivers/i2c/busses/i2c-s3c2410.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c index 362a6de54833..e9658af36f2e 100644 --- a/drivers/i2c/busses/i2c-s3c2410.c +++ b/drivers/i2c/busses/i2c-s3c2410.c @@ -1200,6 +1200,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev) clk_disable(i2c->clk); if (ret != 0) { dev_err(&pdev->dev, "I2C controller init failed\n"); + clk_unprepare(i2c->clk); return ret; } /* find the IRQ for this unit (note, this relies on the init call to -- 1.9.1