From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932985AbdHVOB0 (ORCPT ); Tue, 22 Aug 2017 10:01:26 -0400 Received: from mout.web.de ([212.227.15.14]:56758 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932329AbdHVOBY (ORCPT ); Tue, 22 Aug 2017 10:01:24 -0400 Subject: [PATCH v2] ALSA: pcsp: Use common error handling code in snd_card_pcsp_probe() To: alsa-devel@alsa-project.org, Dan Carpenter , Jaroslav Kysela , Takashi Iwai Cc: kernel-janitors@vger.kernel.org, LKML References: <08ee0d6b-788b-2845-6964-e1e55c2d2292@users.sourceforge.net> <20170822121625.syvr64kwyh5xjexg@mwanda> From: SF Markus Elfring Message-ID: <1b3cea97-e99e-ec7e-9b5c-0de728f8f383@users.sourceforge.net> Date: Tue, 22 Aug 2017 16:00:26 +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: 7bit X-Provags-ID: V03:K0:B495QdTYrtEhRbgoDQSs8msCPmWIiZVwArDxDACkk+mrB5A5N3N kacR1wAwqF0ohOC97zOhky9xQDAoXLPF2lZBzHIaD4TIR2kS3ab5Lb1P7K90QIf1m8wf3vQ Z9pCQuPO7kAIASoJ5YZbVZA0Ql46EVYz7uQJFx4R0jsUrs9dcmtv6q1rMIsXslKMoubrsgx I2yXgOkIKs57EBqmP57UA== X-UI-Out-Filterresults: notjunk:1;V01:K0:Mpmc6MablPA=:aiQIG1YZSGlFxryrrBcI0X 4G88rzuLCiY3fbttcnALYRHJ3lbPbtjJ8LtZPy2yiNtWnp4WTEmmX2f3mmyfUUqcvgrkt3NKV HS9WOrE0aW+AQJ2vH3yEtSy8oCgt+ppSBRub1c8r1p3snvyCMN1B5a4gaU4C161ng66R40bnv wR4BtCFZBNWHEHx5Lrm1h078NCB4/w1KMCJNc00aTVok6C81tK47uc/+8H6hT5+iG1rUcCb3Z xxPS4lc0czSXSo/VEoTZtPSXDVnrPvd4zW4ny/7XjRcA7heXOOqYOGOkvPQUofpNWtRzSPqrX NC0NFz1sJIapDsXw8K32SvldTMQBlC0E1bybnQ2pKqRSBZemveX4EhLEvDuoWQphQJhMC3Ymo 18CQbkF8JBO+FKlh3RkaqjE9Hpp+4KYyoHPu8ahdOuEhd4wzNlYyLttMzsWtHB8HF43SxpS/L 0oKo8vi+sNHQREtakqzjN6Hx7STtpKRjhN2Byy3XJ5/s3BSc2090nXTjQLhAgaY4SavsaTDat ZDoixmmCgjiBnLqCVGq0mHN3bmLANhDBR8PjarkGV1bZLgG80URJMBDe8DwOlSGMU3BLYApG9 yO/YWrZBCdWCiL/giAdSsm/RIzuZsr37n9TH/A9RNRVnb7bA5j9cbl30SltysbUzFsHSrIXAH 7RDkCaLKs21rNEKyvpCLtZIZABB8kM+sx8yWBgoyNuaDptCf1Oi0qXcW7ndSUioJHlBcevRlX km9lbVGGkpZzTlTY/FNLlGL3HWo/HwKspzlLkXw0WyiAuR16NKGDBfDwGYzQ6LzX2KZia8qls 9tyKU3am9QEPaPse4AamjQAsWGfQFIXpdr31SThyIQmC2iy22F2hPfo2r+5d0bws0TZ0DMR 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 15:50:53 +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 --- v2: Do you find this refactoring acceptable instead? sound/drivers/pcsp/pcsp.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index 72e2d0012084..fc83139fcfa2 100644 --- a/sound/drivers/pcsp/pcsp.c +++ b/sound/drivers/pcsp/pcsp.c @@ -108,22 +108,17 @@ static int snd_card_pcsp_probe(int devnum, struct device *dev) return err; err = snd_pcsp_create(card); - if (err < 0) { - snd_card_free(card); - return err; - } + if (err) + goto free_card; + if (!nopcm) { err = snd_pcsp_new_pcm(&pcsp_chip); - if (err < 0) { - snd_card_free(card); - return err; - } + if (err) + goto free_card; } err = snd_pcsp_new_mixer(&pcsp_chip, nopcm); - if (err < 0) { - snd_card_free(card); - return err; - } + if (err) + goto free_card; strcpy(card->driver, "PC-Speaker"); strcpy(card->shortname, "pcsp"); @@ -131,12 +126,13 @@ static int snd_card_pcsp_probe(int devnum, struct device *dev) pcsp_chip.port); err = snd_card_register(card); - if (err < 0) { - snd_card_free(card); - return err; - } + if (err) + goto free_card; return 0; +free_card: + snd_card_free(card); + return err; } static int alsa_card_pcsp_init(struct device *dev) -- 2.14.0