From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752191AbdHLNmS (ORCPT ); Sat, 12 Aug 2017 09:42:18 -0400 Received: from mout.web.de ([212.227.17.12]:62832 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750975AbdHLNmR (ORCPT ); Sat, 12 Aug 2017 09:42:17 -0400 Subject: [PATCH 2/3] ALSA: rme96: Use common error handling code in snd_rme96_probe() From: SF Markus Elfring To: alsa-devel@alsa-project.org, Jaroslav Kysela , Julia Lawall , Takashi Iwai , Takashi Sakamoto Cc: LKML , kernel-janitors@vger.kernel.org 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-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit 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= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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) -- 2.14.0