From patchwork Thu Apr 14 15:48:25 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 8839151 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 74357C0553 for ; Thu, 14 Apr 2016 15:51:18 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A19B4202EB for ; Thu, 14 Apr 2016 15:51:17 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CB24E20270 for ; Thu, 14 Apr 2016 15:51:16 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aqjWe-00012y-7t; Thu, 14 Apr 2016 15:49:48 +0000 Received: from mout.kundenserver.de ([212.227.17.13]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aqjWM-0000XV-Lc for linux-arm-kernel@lists.infradead.org; Thu, 14 Apr 2016 15:49:32 +0000 Received: from localhost.localdomain ([95.91.39.67]) by mrelayeu.kundenserver.de (mreue101) with ESMTPSA (Nemesis) id 0MbQQe-1b7IxF2Pau-00ImpY; Thu, 14 Apr 2016 17:48:45 +0200 From: Stefan Wahren To: Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Marek Vasut Subject: [PATCH RFT 1/5] iio: mxs-lradc: fix memory leak Date: Thu, 14 Apr 2016 15:48:25 +0000 Message-Id: <1460648909-2657-2-git-send-email-stefan.wahren@i2se.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1460648909-2657-1-git-send-email-stefan.wahren@i2se.com> References: <1460648909-2657-1-git-send-email-stefan.wahren@i2se.com> X-Provags-ID: V03:K0:jONE9PMk78ZPrWQTmt9i3TjXDlDyewYqT3gTPzEt/EK8pQw9gxa GkVIODA88oFrON1/G6MEHmYlMgGlC9UO4XcQvfKaOtuY/aCk/wRbJOilRXqQzcYAWQScRUb 2B4fJIzqfjQgVSABAH42drEs1ax+jUr+u5unX3wFE6PasIRzqYWypIntFlpOkWBFqpHwE9x F12f3LBTGvmgQ6FVXomgQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:nFAN77xtsGU=:No6lwBIZpJ6ia3HnsSQrvQ pUc1ZbkvQINySKOWHhQku62r0MDg0Fb2ELzkk/57e85GSOK15YKi/Yj1a9lyOhLrNz48UUxnt s5ug5xsG/fRRFKRUUAFftyVC/ZpIDkqW4w3vfWaOAze6P/oyflTQQLJWG5JhMgwXWc93lPh9P 5dEx99ErDx0HOSU9i+LYIERKeVzhzgonoSo9JQHF67enZ1J4iZNUq/w+9O6eWm3Z2C4DR/tsV PNrN7lVG/bkjTvlscEu5NTao0cYPfKNK1GNaDYWTTuKTq53ijW5A8ADCJdLo6VSziRp/G90vf /NRkFZWkIHG2+5dx9Eu8xqepbRXvsxUcMmHCZlJeAz+W96IMMNiDCuBJg0zsmKtAo2BvWCWWx ibhftMd39Io0/JQjTYf24uaulU7c70/b34T5f5TSO0aZ3LzJOo1bj8lbmrjaAXGaFqcv/rwBN admEVKUXNc0E5lxb0Sz00WV9LoCjwU4q88jhLr5A7ErUDFhvJgZPy5LjooqXOP2DL7iTrAOl4 MFKEQuXonzwcOVjvHdWw1eq1fjKxvD4/t9CIJpoqZXHbDWFqnzAkUAFjESa4ZrH3kdIPEcmgM MoSkczvfJopwLSLBWZtmLsRs6wLXHxM9Z3XGJmioaOmnuARjXNO1tNNP4KZRfwAqq/rgmNpq3 umJPFErIWxRq2jjWFgilSLbc5ZAlDivZUGnmO3wZcXCSBzN5vtd6qT+Fv/18Cw/3BG+0= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160414_084931_214389_661C3D69 X-CRM114-Status: GOOD ( 10.41 ) X-Spam-Score: -2.6 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefan Wahren , Ksenija Stanojevic , linux-iio@vger.kernel.org, Alexandre Belloni , Fabio Estevam , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, 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 After successful touchscreen registration the input device was never freed. So fix this issue by using devm_input_allocate_device(). Signed-off-by: Stefan Wahren --- drivers/iio/adc/mxs-lradc.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/iio/adc/mxs-lradc.c b/drivers/iio/adc/mxs-lradc.c index 33051b8..0576953 100644 --- a/drivers/iio/adc/mxs-lradc.c +++ b/drivers/iio/adc/mxs-lradc.c @@ -1109,12 +1109,11 @@ static int mxs_lradc_ts_register(struct mxs_lradc *lradc) { struct input_dev *input; struct device *dev = lradc->dev; - int ret; if (!lradc->use_touchscreen) return 0; - input = input_allocate_device(); + input = devm_input_allocate_device(dev); if (!input) return -ENOMEM; @@ -1134,11 +1133,8 @@ static int mxs_lradc_ts_register(struct mxs_lradc *lradc) lradc->ts_input = input; input_set_drvdata(input, lradc); - ret = input_register_device(input); - if (ret) - input_free_device(lradc->ts_input); - return ret; + return input_register_device(input); } static void mxs_lradc_ts_unregister(struct mxs_lradc *lradc)