From patchwork Thu Aug 3 19:15:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 797419 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xNg1Y1FB9z9s72 for ; Fri, 4 Aug 2017 05:22:41 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3xNg1X75VMzDrCm for ; Fri, 4 Aug 2017 05:22:40 +1000 (AEST) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mout.web.de (mout.web.de [212.227.15.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3xNg0N74LlzDqHq for ; Fri, 4 Aug 2017 05:21:40 +1000 (AEST) Received: from [192.168.1.2] ([77.182.254.70]) by smtp.web.de (mrweb001 [213.165.67.108]) with ESMTPSA (Nemesis) id 0M6mgu-1dRIOZ2O28-00wT4X; Thu, 03 Aug 2017 21:15:51 +0200 Subject: [PATCH 3/4] axonram: Return directly after a failed kzalloc() in axon_ram_probe() From: SF Markus Elfring To: linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , Jan Kara , Jens Axboe , Dan Williams , Michael Ellerman , Paul Mackerras References: <009fdef0-b2c9-5e98-d32d-14149aec92c5@users.sourceforge.net> Message-ID: <43bc7b50-b59b-89e9-9139-ae8a716016a7@users.sourceforge.net> Date: Thu, 3 Aug 2017 21:15:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <009fdef0-b2c9-5e98-d32d-14149aec92c5@users.sourceforge.net> Content-Language: en-GB X-Provags-ID: V03:K0:+V4mhFmFt61MWNdGPJT18kxsR1htql9u+VDFhpC53UMbGBt5Xwp xHRjmaBkbk4Wwvb71s7hizixcZCOtgYPkiuZ2PQPzZPh1wBp7BIGxSMR4PaXNj6Tod4ifK9 aO+QFnMor7SVdPvC8Q0rypBMKMBSbkjDWZDzySyz6vLvTMEYFEuG92lzRIEX3h4E+ncO9bn FnVJ+tt1FYkH7WvNbo5Vg== X-UI-Out-Filterresults: notjunk:1; V01:K0:zefVE1Oll/0=:TEwrEegBbunAIvKlpCqRvy 6vJzfZ5L89xb9ZVQgel0Obn+SdytMoGTrM7GxsFX5aOFiq+cUUxetHY3ddqBeb3U+MCrnDzf8 svHdtUg9bq6Kmr+QF1qr2yjXFF24EKgKQqSLPp5ZBST11reZXTPMdM2a1YrdO22b9cgd9levv Foxdsk5MPgKZHci/Qvcf0T0Q3fOTN7TWlgRe1RzCJgAM5AF7XEpfarIlcKiA05RQb4vTXxSpB TjzfvYHcaTx77rnh7LWVoynxMfuvIJmlUe6KfxDkEpkptXSlzsKfwAZaBU3+ZnDXZQcMNZR0D h7P0zuilvRznlIO7KcUN6BOWNJL+lRB4vdp1fiXSxGvK3ywdJGC6ki+L2Csaswuv70kNpP2Mj 6e/fnKVqE5OsyxnW9h+hS/gxTr5gQash7MCW7HV4c9tEmtARpfZp3giBYsRgGNE2rDSwUmigd UInx5Hlt/x1q3gYpOhrYjFwIOebqaq06f5s10TtUfsq70YnZ3uDlEf8oJ1WC8KfQCdqbeOPf5 12zLaATZ0eeCZ1qUSog3heW0vMOHHsqGFFxqp9ehhwj/GECXdx7Rzw4uYQ4RbwWHJ4udT9NKA 9zPooNQkl7XSh6+ZSvZPB/k96+b6pI0p62pA3altMiUNqJ0aIuH9jvD70ofmpP3OVp7lwf9Q2 TXARt0b1wA5rq7tGB3DZ+zN9uz1Ez7fOiAx8OK0alhV8DhWs/yd1fqTQbmT8n8v7Sj8A2DBs9 FFTzlXbMfJ72t13Kg6CUiIpC27TIAN/lVB6lAvQkCdkdOXvhH/6RY1dPoRZoST8KItWt7gpoP JxKkkRrbGCqdJjkRxplzcxUn2Cu+6WvasFeiiVJk4Fxl8kbJok= X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel-janitors@vger.kernel.org, LKML Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Markus Elfring Date: Thu, 3 Aug 2017 20:23:57 +0200 * Return directly after a call of the function "kzalloc" failed at the beginning. * Delete a repeated check for the local variable "bank" which became unnecessary with this refactoring. Signed-off-by: Markus Elfring --- arch/powerpc/sysdev/axonram.c | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c index bf1506ec2ca4..93cc902350db 100644 --- a/arch/powerpc/sysdev/axonram.c +++ b/arch/powerpc/sysdev/axonram.c @@ -192,10 +192,8 @@ static int axon_ram_probe(struct platform_device *device) device->dev.of_node->full_name); bank = kzalloc(sizeof(*bank), GFP_KERNEL); - if (bank == NULL) { - rc = -ENOMEM; - goto failed; - } + if (!bank) + return -ENOMEM; device->dev.platform_data = bank; @@ -291,25 +289,22 @@ static int axon_ram_probe(struct platform_device *device) return 0; failed: - if (bank != NULL) { - if (bank->irq_id) - free_irq(bank->irq_id, device); - if (bank->disk != NULL) { - if (bank->disk->major > 0) - unregister_blkdev(bank->disk->major, - bank->disk->disk_name); - if (bank->disk->flags & GENHD_FL_UP) - del_gendisk(bank->disk); - put_disk(bank->disk); - } - kill_dax(bank->dax_dev); - put_dax(bank->dax_dev); - device->dev.platform_data = NULL; - if (bank->io_addr != 0) - iounmap((void __iomem *) bank->io_addr); - kfree(bank); + if (bank->irq_id) + free_irq(bank->irq_id, device); + if (bank->disk != NULL) { + if (bank->disk->major > 0) + unregister_blkdev(bank->disk->major, + bank->disk->disk_name); + if (bank->disk->flags & GENHD_FL_UP) + del_gendisk(bank->disk); + put_disk(bank->disk); } - + kill_dax(bank->dax_dev); + put_dax(bank->dax_dev); + device->dev.platform_data = NULL; + if (bank->io_addr != 0) + iounmap((void __iomem *) bank->io_addr); + kfree(bank); return rc; }