From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752227AbdHVSFO (ORCPT ); Tue, 22 Aug 2017 14:05:14 -0400 Received: from mout.web.de ([212.227.15.14]:60290 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751736AbdHVSFL (ORCPT ); Tue, 22 Aug 2017 14:05:11 -0400 To: alsa-devel@alsa-project.org, Bhumika Goyal , David Howells , Fabian Frederick , Jaroslav Kysela , Julia Lawall , Takashi Iwai Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] ALSA: cmipci: Use common error handling code in snd_cmipci_probe() Message-ID: <1d40ad45-3841-d25b-064a-011c6de5287e@users.sourceforge.net> Date: Tue, 22 Aug 2017 20:03:50 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:DZG0Trhzluw7GrHkMuuh7gc03k/y05QmNOPaPVlTQB10kRjIG0Y tck2uPcbbTlf8+iLDc/7F0ttTaBJELUf6VCjcm5wqjdRv1fnbPEXCS6Kxb1oaaq/e+nDiDK sc+DczSbmcXHtbqsynty59cQkKGTQAJMaIPwYcrrCnWGXnYCYIE3TF5yw/mbUOF9zLPyaEn qoCcdQLkowY9KJ86o/3tg== X-UI-Out-Filterresults: notjunk:1;V01:K0:xbIpt+AdaXA=:0Z2aHgl9q4odQ0Inxms5UI m+i6gKO2eRed/bAlh4/cEPrcVpVddXK+0ftPFjhlJle7ND0WJljoFDMVUmtAtp4Hk2Nb6T1Ee 8+gKBAjmY4m7XChBjmRLoUQpib8ft+F2tbNGkJ1I1WmZhMAlerx0HlxcH2xrR6/ISR6ehh7j5 WCNzk9dbw97PGmVDf4jlkaYjlUStriG0RchbOkJKHNO0VkBYE9nflCNGmg5bk1fs23eTU+Iv0 wf6avnK5sMf51cdpDcgREZoqz2Kf2tg6v2YyZQh64KVKaGvE8lDwFiAMunLqXqVGGmUX9RwsU q92kd4a+WvwlybTfPj7KkOzAK/MiO1D7Hgysmzzkpo8kailDvr3G+4uBu726ABI4/h+5kLLdR 8ROJI059RBUZCbjzzNZ/xAMqAPO1klG03NgtqSsnvSlkitUDpHffx/7Jpmapnd0VIvg8Nvr7y c8pn33MU/c55LayDl7DFZpqkBWCsOGHMozdLYQFXpSWdJ7pMk6MTw7Q3uX7X6PLmEombyVXvk DqnChtGN3ACFdfghSrmXPkBiXFW/lQ0FDosv/ffvJftLqCXg0h+Aj2ttRaEacFjH6xtDU3Wp7 FmEW0iGOzyhWwUp4y3lZygz7nJRxzUY+wdCsVBDrEJ0uBElgxq/st45uRaVV6x8W/EfW1++VO lxwGpkPydWEqtBm9xR0VhSFvvrujRUEsahsduIdv7ecr4wVU3KH72j4tYzKtCsaFCHzz15WZT qWfQwRq7M5wCOYN7uYgvOyDqkTES1fveN0RBok159u2Tv+7AYREiGnEiykVRwQDEoFh23vvzz DeVpx8faN3G/ESJoUhtQR2zFCJ86zBO1T+LbBvf94O/NLQPIxEG+/K86gJBMNSDSN7oyvuv Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Tue, 22 Aug 2017 19:58:30 +0200 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- sound/pci/cmipci.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index a460cb63e971..27817c84f6ef 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c @@ -3295,20 +3295,23 @@ static int snd_cmipci_probe(struct pci_dev *pci, break; } - if ((err = snd_cmipci_create(card, pci, dev, &cm)) < 0) { - snd_card_free(card); - return err; - } + err = snd_cmipci_create(card, pci, dev, &cm); + if (err < 0) + goto free_card; + card->private_data = cm; - if ((err = snd_card_register(card)) < 0) { - snd_card_free(card); - return err; - } + err = snd_card_register(card); + if (err < 0) + goto free_card; + pci_set_drvdata(pci, card); dev++; return 0; +free_card: + snd_card_free(card); + return err; } static void snd_cmipci_remove(struct pci_dev *pci) -- 2.14.0