diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2012-04-09 04:16:35 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-04-10 02:42:07 -0400 |
commit | 38be95dd3d314bd393a26f6e441ae2c57ef7f064 (patch) | |
tree | 3e7f53a6d6c0c4a4ae229ad1cc0497e351bfd4ed | |
parent | 156d14da4cfc4fe01b705d6e2d22e44c0a2dbecd (diff) |
ALSA: sound/isa/sscape.c: add missing resource-release code
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>
-rw-r--r-- | sound/isa/sscape.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index b4a6aa960f4b..8490f59709bb 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c | |||
@@ -1019,13 +1019,15 @@ static int __devinit create_sscape(int dev, struct snd_card *card) | |||
1019 | irq_cfg = get_irq_config(sscape->type, irq[dev]); | 1019 | irq_cfg = get_irq_config(sscape->type, irq[dev]); |
1020 | if (irq_cfg == INVALID_IRQ) { | 1020 | if (irq_cfg == INVALID_IRQ) { |
1021 | snd_printk(KERN_ERR "sscape: Invalid IRQ %d\n", irq[dev]); | 1021 | snd_printk(KERN_ERR "sscape: Invalid IRQ %d\n", irq[dev]); |
1022 | return -ENXIO; | 1022 | err = -ENXIO; |
1023 | goto _release_dma; | ||
1023 | } | 1024 | } |
1024 | 1025 | ||
1025 | mpu_irq_cfg = get_irq_config(sscape->type, mpu_irq[dev]); | 1026 | mpu_irq_cfg = get_irq_config(sscape->type, mpu_irq[dev]); |
1026 | if (mpu_irq_cfg == INVALID_IRQ) { | 1027 | if (mpu_irq_cfg == INVALID_IRQ) { |
1027 | snd_printk(KERN_ERR "sscape: Invalid IRQ %d\n", mpu_irq[dev]); | 1028 | snd_printk(KERN_ERR "sscape: Invalid IRQ %d\n", mpu_irq[dev]); |
1028 | return -ENXIO; | 1029 | err = -ENXIO; |
1030 | goto _release_dma; | ||
1029 | } | 1031 | } |
1030 | 1032 | ||
1031 | /* | 1033 | /* |