From patchwork Fri Jul 25 11:34:34 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: pramod.gurav.etc@gmail.com X-Patchwork-Id: 4622451 Return-Path: X-Original-To: patchwork-linux-input@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 CA1A3C0338 for ; Fri, 25 Jul 2014 11:31:10 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 27E232010F for ; Fri, 25 Jul 2014 11:31:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7505D201E4 for ; Fri, 25 Jul 2014 11:31:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760096AbaGYLbB (ORCPT ); Fri, 25 Jul 2014 07:31:01 -0400 Received: from mail-pd0-f175.google.com ([209.85.192.175]:64464 "EHLO mail-pd0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760091AbaGYLbB (ORCPT ); Fri, 25 Jul 2014 07:31:01 -0400 Received: by mail-pd0-f175.google.com with SMTP id r10so5529491pdi.6 for ; Fri, 25 Jul 2014 04:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=NxoZwxpFSpWxB/+vPVM4bSiK0zOtJwofb838kHaSd6A=; b=w6kTPb68qAx2LYWcH6DQ575n10sRg7Txu9F+pW0mVVVfN8fKzLR2VpNg/dU31+aVkE 0gN1eMTWNgOjAwUl0nyBp4ukJ/nMSIHO5Ma47atPnkohKXu8Xel7Krhmeu/EQv9EjRf6 iUwfKA6M7eIfFLl9SyKLVS/3A/KYURutbl1lXIR4e7UV55pWpeowRckTPnqxxDPxHALN +GCSyy6bXaN2ShNDNKXHODdoX5YvyibVD4S//E8nFF4AWwLiRc+UT1tUnTSqPH9RkBKO jC+5kdWLDkv/NVmBRLhCobh20F9YLz13S2SGAo+xXa6577Z/I8zRK68Yi0oo9ryiDw74 b6Yw== X-Received: by 10.66.100.200 with SMTP id fa8mr17879983pab.23.1406287858413; Fri, 25 Jul 2014 04:30:58 -0700 (PDT) Received: from SPINITLTDL00278.smartplayin.local ([220.227.185.53]) by mx.google.com with ESMTPSA id fl15sm11305855pdb.96.2014.07.25.04.30.55 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 25 Jul 2014 04:30:57 -0700 (PDT) From: pramod.gurav.etc@gmail.com X-Google-Original-From: pramod.gurav@smartplayin.com To: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Pramod Gurav , Dmitry Torokhov , Lejun Zhu , Sachin Kamat Subject: [PATCH v2] Input: soc_button_array: Remove kfree on data allocated with devm_zalloc Date: Fri, 25 Jul 2014 17:04:34 +0530 Message-Id: <1406288074-28725-1-git-send-email-pramod.gurav@smartplayin.com> X-Mailer: git-send-email 1.7.9.5 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham 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 From: Pramod Gurav This patch does below: - Removes kfree done on data allocated with devm_zalloc in probe path of the driver. - Adds a check on return value from devm_kzalloc which was missing CC: Dmitry Torokhov CC: Lejun Zhu CC: Sachin Kamat Signed-off-by: Pramod Gurav --- drivers/input/misc/soc_button_array.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c index 5a6334b..fc64ec6 100644 --- a/drivers/input/misc/soc_button_array.c +++ b/drivers/input/misc/soc_button_array.c @@ -83,6 +83,9 @@ soc_button_device_create(struct pnp_dev *pdev, sizeof(*gpio_keys_pdata) + sizeof(*gpio_keys) * MAX_NBUTTONS, GFP_KERNEL); + if (!gpio_keys_pdata) + return ERR_PTR(-ENOMEM); + gpio_keys = (void *)(gpio_keys_pdata + 1); for (info = button_info; info->name; info++) { @@ -102,20 +105,16 @@ soc_button_device_create(struct pnp_dev *pdev, n_buttons++; } - if (n_buttons == 0) { - error = -ENODEV; - goto err_free_mem; - } + if (n_buttons == 0) + return ERR_PTR(-ENODEV); gpio_keys_pdata->buttons = gpio_keys; gpio_keys_pdata->nbuttons = n_buttons; gpio_keys_pdata->rep = autorepeat; pd = platform_device_alloc("gpio-keys", PLATFORM_DEVID_AUTO); - if (!pd) { - error = -ENOMEM; - goto err_free_mem; - } + if (!pd) + return ERR_PTR(-ENOMEM); error = platform_device_add_data(pd, gpio_keys_pdata, sizeof(*gpio_keys_pdata)); @@ -130,8 +129,6 @@ soc_button_device_create(struct pnp_dev *pdev, err_free_pdev: platform_device_put(pd); -err_free_mem: - devm_kfree(&pdev->dev, gpio_keys_pdata); return ERR_PTR(error); }