From patchwork Tue Feb 11 10:03:30 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 3625881 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 3FC1FC02E3 for ; Tue, 11 Feb 2014 10:05:02 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A442E2020A for ; Tue, 11 Feb 2014 10:04:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BC85720200 for ; Tue, 11 Feb 2014 10:04:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751491AbaBKKD5 (ORCPT ); Tue, 11 Feb 2014 05:03:57 -0500 Received: from mailout4.w1.samsung.com ([210.118.77.14]:22473 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751087AbaBKKDy (ORCPT ); Tue, 11 Feb 2014 05:03:54 -0500 Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout4.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N0T00GMPTAGQB00@mailout4.w1.samsung.com>; Tue, 11 Feb 2014 10:03:52 +0000 (GMT) X-AuditID: cbfec7f5-b7fc96d000004885-84-52f9f58752eb Received: from eusync2.samsung.com ( [203.254.199.212]) by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id 37.DA.18565.785F9F25; Tue, 11 Feb 2014 10:03:51 +0000 (GMT) Received: from AMDC1943.digital.local ([106.116.151.171]) by eusync2.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0N0T00L9UTAB6610@eusync2.samsung.com>; Tue, 11 Feb 2014 10:03:51 +0000 (GMT) From: Krzysztof Kozlowski To: Sangbeom Kim , Samuel Ortiz , Lee Jones , linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: Kyungmin Park , Marek Szyprowski , Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , stable@vger.kernel.org Subject: [PATCH 2/7] mfd: 88pm860x: Fix I2C device resource leak on regmap init fail Date: Tue, 11 Feb 2014 11:03:30 +0100 Message-id: <1392113015-11180-2-git-send-email-k.kozlowski@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1392113015-11180-1-git-send-email-k.kozlowski@samsung.com> References: <1392113015-11180-1-git-send-email-k.kozlowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDJMWRmVeSWpSXmKPExsVy+t/xK7rtX38GGRw8KW2xccZ6VovXLwwt zja9Ybe4//Uoo8XlXXPYLGac38dksfbIXXaL092sFhdXfGGyWLDxEaMDl8eda3vYPOadDPTo 27KK0ePzJrkAligum5TUnMyy1CJ9uwSujN1NDgUz2CvOThRsYGxk62Lk5JAQMJH49XMrM4Qt JnHh3nqgOBeHkMBSRol99/sZIZw+Jol/c26AVbEJGEtsXr4ErEpEYDOjxOLvV1lBHGaBu4wS zXffM4JUCQuESay9+ZUdxGYRUJVouHCbFcTmFXCX2NS3j6WLkQNon4LEnEk2IGFOAQ+JFR/O gC0QAipp7b/LOoGRdwEjwypG0dTS5ILipPRcI73ixNzi0rx0veT83E2MkBD7uoNx6TGrQ4wC HIxKPLwaX38ECbEmlhVX5h5ilOBgVhLhVTr+M0iINyWxsiq1KD++qDQntfgQIxMHp1QDo5Q8 v/n2hJTAV34fMy3iPJk9ezPuHn9h38qxuTCo7dchBe6bmnIuxRlTObjWrS65ukomf4N1p59c 0eWHjS/7H028fPv+O+lTiwyu//FOfXzL/OOt6Kp6Q4HKvzeq5opOO6y90+y8welHE0/9t941 /eziTzbpHdmbF8orqkYtlkzqXvjP3uGytRJLcUaioRZzUXEiAN2+zuAPAgAA Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP During probe the driver allocates dummy I2C device for companion chip and then allocates a regmap for it. If regmap_init_i2c() fails then the I2C driver (allocated with i2c_new_dummy()) is not freed and this resource leaks. Signed-off-by: Krzysztof Kozlowski Cc: stable@vger.kernel.org --- drivers/mfd/88pm860x-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index e456be9a7c67..bcfc9e85b4a0 100644 --- a/drivers/mfd/88pm860x-core.c +++ b/drivers/mfd/88pm860x-core.c @@ -1190,6 +1190,7 @@ static int pm860x_probe(struct i2c_client *client, ret = PTR_ERR(chip->regmap_companion); dev_err(&chip->companion->dev, "Failed to allocate register map: %d\n", ret); + i2c_unregister_device(chip->companion); return ret; } i2c_set_clientdata(chip->companion, chip);