ALSA: rme9652: Use common error handling code in two functions
authorMarkus Elfring <elfring@users.sourceforge.net>
Mon, 14 Aug 2017 20:00:40 +0000 (22:00 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 15 Aug 2017 06:21:39 +0000 (08:21 +0200)
Add a jump target so that a bit of exception handling can be better reused
in these functions.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdsp.c
sound/pci/rme9652/rme9652.c

index 9535e6a..0ff41f9 100644 (file)
@@ -5381,17 +5381,16 @@ static int snd_hdsp_probe(struct pci_dev *pci,
        card->private_free = snd_hdsp_card_free;
        hdsp->dev = dev;
        hdsp->pci = pci;
-
-       if ((err = snd_hdsp_create(card, hdsp)) < 0) {
-               snd_card_free(card);
-               return err;
-       }
+       err = snd_hdsp_create(card, hdsp);
+       if (err)
+               goto free_card;
 
        strcpy(card->shortname, "Hammerfall DSP");
        sprintf(card->longname, "%s at 0x%lx, irq %d", hdsp->card_name,
                hdsp->port, hdsp->irq);
-
-       if ((err = snd_card_register(card)) < 0) {
+       err = snd_card_register(card);
+       if (err) {
+free_card:
                snd_card_free(card);
                return err;
        }
index eff4993..df648b1 100644 (file)
@@ -2618,19 +2618,17 @@ static int snd_rme9652_probe(struct pci_dev *pci,
        card->private_free = snd_rme9652_card_free;
        rme9652->dev = dev;
        rme9652->pci = pci;
-
-       if ((err = snd_rme9652_create(card, rme9652, precise_ptr[dev])) < 0) {
-               snd_card_free(card);
-               return err;
-       }
+       err = snd_rme9652_create(card, rme9652, precise_ptr[dev]);
+       if (err)
+               goto free_card;
 
        strcpy(card->shortname, rme9652->card_name);
 
        sprintf(card->longname, "%s at 0x%lx, irq %d",
                card->shortname, rme9652->port, rme9652->irq);
-
-       
-       if ((err = snd_card_register(card)) < 0) {
+       err = snd_card_register(card);
+       if (err) {
+free_card:
                snd_card_free(card);
                return err;
        }