|
@@ -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;
|
|
|
}
|
|
|
|
|
|
/*
|