Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752064AbcDUHFI (ORCPT ); Thu, 21 Apr 2016 03:05:08 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:34658 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751618AbcDUHFC (ORCPT ); Thu, 21 Apr 2016 03:05:02 -0400 X-AuditID: cbfec7f5-f792a6d000001302-b8-57187b9af5d9 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 v2 1/3] i2c: s3c2410: Add missing clock unprepare on probe() error path Date: Thu, 21 Apr 2016 09:04:49 +0200 Message-id: <1461222291-5642-1-git-send-email-k.kozlowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupgluLIzCtJLcpLzFFi42I5/e/4Nd1Z1RLhBj/umltsnLGe1eLN2zVM Fq9fGFr0P37NbLHp8TVWi46/XxgtLu+aw2Yx4/w+JouVJ2YxO3B6bFrVyeaxeUm9x5b+u+we fVtWMXqcPPWExePzJrkAtigum5TUnMyy1CJ9uwSujE1Lv7MU/GGr+HfkNEsD40vWLkZODgkB E4n728+yQNhiEhfurWfrYuTiEBJYyihx+/BKZginkUni3/F77CBVbALGEpuXLwGrEhH4wyjx 8/MNJpAEs0CuxL99F4A6ODiEBSIlHr2JBTFZBFQlzvZYg1TwCrhJHN73iQlimZzEyWOTWScw ci9gZFjFKJpamlxQnJSea6RXnJhbXJqXrpecn7uJERI+X3cwLj1mdYhRgINRiYd3g4xEuBBr YllxZe4hRgkOZiUR3vnFQCHelMTKqtSi/Pii0pzU4kOM0hwsSuK8M3e9DxESSE8sSc1OTS1I LYLJMnFwSjUwmjbPY7m+SMzoWY9+0D/r0xwO+76YaDZuYAjaO1vAa8vllBNZzttuSkp+s3e9 I/xg0+pMEbs1yfMOPtrg/ZeDd0nnzCc2dltYThtG/dBZtFxdp72Ns8mP99OO0AMlFQIqEVs0 /bWe9Nd9/BZb8/dfSmvIym98yxZMP7BAQqws80HVj8/ZP/UilViKMxINtZiLihMBKaa3YRsC AAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 862 Lines: 28 If during probe() the s3c24xx_i2c_init() failed, the clock was left in disabled but prepared state. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Javier Martinez Canillas --- Changes since v1: 1. Add Javier's reviewed-by. --- 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