From patchwork Sat Aug 12 13:41:23 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: 9897235 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DD43860351 for ; Sat, 12 Aug 2017 13:41:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CEDC028660 for ; Sat, 12 Aug 2017 13:41:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C389728AF1; Sat, 12 Aug 2017 13:41:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0B8B328660 for ; Sat, 12 Aug 2017 13:41:37 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id D443B266FE1; Sat, 12 Aug 2017 15:41:35 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 778B5266FEA; Sat, 12 Aug 2017 15:41:33 +0200 (CEST) Received: from mout.web.de (mout.web.de [212.227.17.12]) by alsa0.perex.cz (Postfix) with ESMTP id ACB4F2669F6 for ; Sat, 12 Aug 2017 15:41:31 +0200 (CEST) Received: from [192.168.1.2] ([77.181.183.107]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0Le4Tw-1dHQ8P3LQq-00pvdW; Sat, 12 Aug 2017 15:41:25 +0200 From: SF Markus Elfring To: alsa-devel@alsa-project.org, Jaroslav Kysela , Julia Lawall , Takashi Iwai , Takashi Sakamoto References: Message-ID: <2b3be152-3594-cab8-1949-99754e593e18@users.sourceforge.net> Date: Sat, 12 Aug 2017 15:41:23 +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: Content-Language: en-GB X-Provags-ID: V03:K0:hkoLzyxcPJI6QfPiRIxcahAiKgJL1NDhwAw1PfUZD0dA628QEns 7uvWP+LAYrWuYQmc51QvAVageZH3NUBgZpJ0Jsu9XsBhoUcg8nWzIQI6jQmS4RC8+GvU1KQ msYReQRP+0SpWkUyxde0gIO5ogH7WxVSz+6Tjeq7bUSM+vfprDUMIPe/iGHW2Q1PvUGC14k O6xOznroo+kh0b1LxAdiA== X-UI-Out-Filterresults: notjunk:1; V01:K0:eVA6Hs9/188=:OW04h8sQ3kgj2/C1rSfrxo q/EALDpLos7NDbMe8ev+E4VQT8GM59jLoFGt2DUaFIjVM6dQTPyHTKcwwLlhJ0vGql1ewMc// 0g+GXfyr2sQyRSw8YYfAjMLDaJvDMYffh3a6CXQI0t+CNS4JuCQezpw2SbtvsCDUnA5pCAYND 6kTmtNAwTbYxwDKkiNtRsEmhMeOKyGWbtJkHVgcpwjPJ0+s+EWVubo+USuf9INHcozCzVaQQ4 dlMsQlGoJqWh8v2lNuPrNqg/GmwXcSXrK4msMnoA/P3bf7uOwqrQTaCRnyv/4kRKSj8vt7+hz T7TPbVegFHS/yHTmCNgpjGVTxl3R0TwJx0sc+0cqO+yQh8RwKdLzMPA7mSeFpiFoD96yYMP/b gwY0NSXji0atXaxh0ROElxGRp00JjDRLonlDQm2PTWKiVBypASEP2OS6piQeJsV5E51WDjUPq EJ3TUH16PrbJV9bf8N9FAjMLQkzqD/P8AK4uv/yLFzPz9JDEvyICRr4lG1Nr+yQs4ku0tT0vi gb6ycKzQk01Qkhi/fwGN5Y8T5kYgLAirLQ13YHHmakBkCJKOC76FI35BtkSe82LvlGhuIs0JU hTrcO9UBsezGlqDxLLSTxFQyxBjoef9bKujSysHEnUMfEbmQHVVF/zFx/LBe9E6bkOrTbtsbV /yG5v2qsppO/a6z/IRLRKpZvrUoNx5iseuJZcimN1q8h7DzFCz8GaJWcU2KRjV3apLTLqOr50 LlCaS6e8Hovfx0PzmBSmn+TApkaPhmAc9wKGYV/MBa9dkpFdkViv4064EKtfxWeiCUJzHY0HC O5tfs3o5zM1gt6KwP3HuY0jIcYSSmIGgL2ba9FSo+5+6pKXb+g= Cc: kernel-janitors@vger.kernel.org, LKML Subject: [alsa-devel] [PATCH 2/3] ALSA: rme96: Use common error handling code in snd_rme96_probe() X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Markus Elfring Date: Sat, 12 Aug 2017 14:50:33 +0200 Add a jump target so that a bit of exception handling can be better reused at the end of this function. Signed-off-by: Markus Elfring --- sound/pci/rme96.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index 82e8c78e48ca..0cdfd53b7796 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c @@ -2481,21 +2481,20 @@ snd_rme96_probe(struct pci_dev *pci, rme96 = card->private_data; rme96->card = card; rme96->pci = pci; - if ((err = snd_rme96_create(rme96)) < 0) { - snd_card_free(card); - return err; - } + err = snd_rme96_create(rme96); + if (err) + goto free_card; #ifdef CONFIG_PM_SLEEP rme96->playback_suspend_buffer = vmalloc(RME96_BUFFER_SIZE); if (!rme96->playback_suspend_buffer) { - snd_card_free(card); - return -ENOMEM; + err = -ENOMEM; + goto free_card; } rme96->capture_suspend_buffer = vmalloc(RME96_BUFFER_SIZE); if (!rme96->capture_suspend_buffer) { - snd_card_free(card); - return -ENOMEM; + err = -ENOMEM; + goto free_card; } #endif @@ -2521,14 +2520,16 @@ snd_rme96_probe(struct pci_dev *pci, } sprintf(card->longname, "%s at 0x%lx, irq %d", card->shortname, rme96->port, rme96->irq); - - if ((err = snd_card_register(card)) < 0) { - snd_card_free(card); - return err; - } + err = snd_card_register(card); + if (err) + goto free_card; + pci_set_drvdata(pci, card); dev++; return 0; +free_card: + snd_card_free(card); + return err; } static void snd_rme96_remove(struct pci_dev *pci)