From patchwork Sun Nov 12 13:04:55 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: 10054773 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 89721602A7 for ; Sun, 12 Nov 2017 13:05:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6B9BC295FF for ; Sun, 12 Nov 2017 13:05:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4EC0829641; Sun, 12 Nov 2017 13:05:17 +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 D097E295FF for ; Sun, 12 Nov 2017 13:05:15 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 527E526722C; Sun, 12 Nov 2017 14:05:11 +0100 (CET) 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 2721C26722D; Sun, 12 Nov 2017 14:05:10 +0100 (CET) Received: from mout.web.de (mout.web.de [212.227.15.14]) by alsa0.perex.cz (Postfix) with ESMTP id 63790266A73 for ; Sun, 12 Nov 2017 14:05:06 +0100 (CET) Received: from [192.168.1.3] ([77.182.62.6]) by smtp.web.de (mrweb002 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MAMY6-1eL3je3G4A-00BaSv; Sun, 12 Nov 2017 14:04:57 +0100 To: alsa-devel@alsa-project.org, Bhumika Goyal , David Howells , Fabian Frederick , Jaroslav Kysela , Takashi Iwai From: SF Markus Elfring Message-ID: Date: Sun, 12 Nov 2017 14:04:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-GB X-Provags-ID: V03:K0:zz5tuBx5RjpSbDOSBtH3URqZrDQdlf2ntVlpb+JHqSpnXxa+YbR qY2sqdB2dPQY4AX0R2yd7GFcPkK9sOFTgQrnC5Np6jVWw0KYoCvO/+HIxrpMxtGDXePyZJI 55nhNylX+NmbLpANL/Pdtk+nLjmQMph4GGthJWmVbSpNXzagBVeDkHtK96QZPwxYBcNfO3k IPFnXK7OQInmntvIKEHBg== X-UI-Out-Filterresults: notjunk:1; V01:K0:hjJ7nmpC4fg=:qYSTaKqT/Ch9ET7+OAyHxL 4Jhg88Du08pyYkODZ81xgs7Rz2WzthAgggb7JoGRJgRdgBl9Lr/JLn68PabZpDxAUuLIvjhkX R04/eYqqkVix6myZrDGPq2tIZGRCZ2yo0Xf9eC/EN/boo37jMAIIuqMh43aZ20Z8V6nsbLRks ZY7KL7wjsFBzGAXotMPWKBThSIe00jZGaWbTcsn8jbz+nX7s9HobaVN+apNoO+gzdRN6H4q0M edq+1/rWwJy7OGm+jcDjzkZgpiOPs4PmiW26/O1bQUOyIXlZEcQs36Jb5ZWsV790H0Os7ELLf BQWZ1Xa/L3upu2sN8eiRczbaL5LJOROGS6Ar9hvWV34tVSX3kgm8EhZ6h7RIC4l5rww/ixi8y E5+qLIhuf5rG/bbKENuGunlaS7kyUisnuyQOmOERUNr/0z2vmml56k7ll0LEayBE+xX48YTGr yG+OXeprqbMj5hguzrQbyJY9QJoTTnR3vNCPLUrwyzKu7sCdcB7wtwHKkIta0KYpv0NYhbGjn eIT8AOomjbl+JzJjoJTmbzJgni4hO2LPL7FQN/Up31KOHby4J7F3MrdSMn0Fi0jYWKujDFd9d o5P/FbiQWBKcurpohW7UCU6WHjXAeDCL7btKPn8O3VvkzyRer74F5wJfHM1edNTJes/So+mWY qSP0LTsEUpc5g0ucZ02z+jUBpOZZpEXrd2MTn0sg+kv1/BaOvS1QX4E34by9VLGQCM5LtS1Q1 VqtyDZQP4gF2MYWKsGCHdqvDfSTHajewSus3cYt7ySkOvivhL3AOaW/z+z7yLodVVx6rKidu0 UZorV9KaWYUSoAPtYL2ztWvAdUrYcAz64eNoDAaooCj9mcRoCA= Cc: kernel-janitors@vger.kernel.org, LKML Subject: [alsa-devel] [PATCH] ALSA: als4000: Use common error handling code in snd_card_als4000_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: Sun, 12 Nov 2017 13:50:48 +0100 * Adjust jump targets 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. * The script "checkpatch.pl" pointed information out like the following. ERROR: do not use assignment in if condition Thus fix eight affected source code places. Signed-off-by: Markus Elfring --- sound/pci/als4000.c | 90 ++++++++++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 43 deletions(-) diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c index 26b097edec8c..e63598c036f6 100644 --- a/sound/pci/als4000.c +++ b/sound/pci/als4000.c @@ -867,21 +867,22 @@ static int snd_card_als4000_probe(struct pci_dev *pci, } /* enable PCI device */ - if ((err = pci_enable_device(pci)) < 0) { + err = pci_enable_device(pci); + if (err < 0) return err; - } + /* check, if we can restrict PCI DMA transfers to 24 bits */ if (dma_set_mask(&pci->dev, DMA_BIT_MASK(24)) < 0 || dma_set_coherent_mask(&pci->dev, DMA_BIT_MASK(24)) < 0) { dev_err(&pci->dev, "architecture does not support 24bit PCI busmaster DMA\n"); - pci_disable_device(pci); - return -ENXIO; + err = -ENXIO; + goto disable_device; } - if ((err = pci_request_regions(pci, "ALS4000")) < 0) { - pci_disable_device(pci); - return err; - } + err = pci_request_regions(pci, "ALS4000"); + if (err < 0) + goto disable_device; + iobase = pci_resource_start(pci, 0); pci_read_config_word(pci, PCI_COMMAND, &word); @@ -893,8 +894,7 @@ static int snd_card_als4000_probe(struct pci_dev *pci, &card); if (err < 0) { pci_release_regions(pci); - pci_disable_device(pci); - return err; + goto disable_device; } acard = card->private_data; @@ -905,17 +905,18 @@ static int snd_card_als4000_probe(struct pci_dev *pci, /* disable all legacy ISA stuff */ snd_als4000_set_addr(acard->iobase, 0, 0, 0, 0); - if ((err = snd_sbdsp_create(card, - iobase + ALS4K_IOB_10_ADLIB_ADDR0, - pci->irq, + err = snd_sbdsp_create(card, + iobase + ALS4K_IOB_10_ADLIB_ADDR0, + pci->irq, /* internally registered as IRQF_SHARED in case of ALS4000 SB */ - snd_als4000_interrupt, - -1, - -1, - SB_HW_ALS4000, - &chip)) < 0) { - goto out_err; - } + snd_als4000_interrupt, + -1, + -1, + SB_HW_ALS4000, + &chip); + if (err < 0) + goto free_card; + acard->chip = chip; chip->pci = pci; @@ -928,14 +929,14 @@ static int snd_card_als4000_probe(struct pci_dev *pci, sprintf(card->longname, "%s at 0x%lx, irq %i", card->shortname, chip->alt_port, chip->irq); - if ((err = snd_mpu401_uart_new( card, 0, MPU401_HW_ALS4000, - iobase + ALS4K_IOB_30_MIDI_DATA, - MPU401_INFO_INTEGRATED | - MPU401_INFO_IRQ_HOOK, - -1, &chip->rmidi)) < 0) { + err = snd_mpu401_uart_new(card, 0, MPU401_HW_ALS4000, + iobase + ALS4K_IOB_30_MIDI_DATA, + MPU401_INFO_INTEGRATED | MPU401_INFO_IRQ_HOOK, + -1, &chip->rmidi); + if (err < 0) { dev_err(&pci->dev, "no MPU-401 device at 0x%lx?\n", iobase + ALS4K_IOB_30_MIDI_DATA); - goto out_err; + goto free_card; } /* FIXME: ALS4000 has interesting MPU401 configuration features * at ALS4K_CR1A_MPU401_UART_MODE_CONTROL @@ -943,12 +944,13 @@ static int snd_card_als4000_probe(struct pci_dev *pci, * however there doesn't seem to be an ALSA API for this... * SPECS_PAGE: 21 */ - if ((err = snd_als4000_pcm(chip, 0)) < 0) { - goto out_err; - } - if ((err = snd_sbmixer_new(chip)) < 0) { - goto out_err; - } + err = snd_als4000_pcm(chip, 0); + if (err < 0) + goto free_card; + + err = snd_sbmixer_new(chip); + if (err < 0) + goto free_card; if (snd_opl3_create(card, iobase + ALS4K_IOB_10_ADLIB_ADDR0, @@ -958,25 +960,27 @@ static int snd_card_als4000_probe(struct pci_dev *pci, iobase + ALS4K_IOB_10_ADLIB_ADDR0, iobase + ALS4K_IOB_12_ADLIB_ADDR2); } else { - if ((err = snd_opl3_hwdep_new(opl3, 0, 1, NULL)) < 0) { - goto out_err; - } + err = snd_opl3_hwdep_new(opl3, 0, 1, NULL); + if (err < 0) + goto free_card; } snd_als4000_create_gameport(acard, dev); - if ((err = snd_card_register(card)) < 0) { - goto out_err; - } + err = snd_card_register(card); + if (err < 0) + goto free_card; + pci_set_drvdata(pci, card); dev++; - err = 0; - goto out; + return 0; -out_err: +disable_device: + pci_disable_device(pci); + return err; + +free_card: snd_card_free(card); - -out: return err; }