ALSA: sound/isa/sscape.c: add missing resource-release code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Mon, 9 Apr 2012 08:16:35 +0000 (10:16 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 10 Apr 2012 06:42:07 +0000 (08:42 +0200)
At the point of this error-handling code, both regions and the dma have
been allocated, so free it as done in previous and subsequent
error-handling code.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

sound/isa/sscape.c

index b4a6aa9..8490f59 100644 (file)
@@ -1019,13 +1019,15 @@ static int __devinit create_sscape(int dev, struct snd_card *card)
        irq_cfg = get_irq_config(sscape->type, irq[dev]);
        if (irq_cfg == INVALID_IRQ) {
                snd_printk(KERN_ERR "sscape: Invalid IRQ %d\n", irq[dev]);
-               return -ENXIO;
+               err = -ENXIO;
+               goto _release_dma;
        }
 
        mpu_irq_cfg = get_irq_config(sscape->type, mpu_irq[dev]);
        if (mpu_irq_cfg == INVALID_IRQ) {
                snd_printk(KERN_ERR "sscape: Invalid IRQ %d\n", mpu_irq[dev]);
-               return -ENXIO;
+               err = -ENXIO;
+               goto _release_dma;
        }
 
        /*