diff options
author | Takashi Iwai <tiwai@suse.de> | 2006-04-18 09:01:23 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-04-27 15:10:17 -0400 |
commit | c128b82cf4095bb64aec435cf58d67fb78272f2f (patch) | |
tree | 425a566d5c2a044effcd123f397ec83e1a4ddf3d /sound/isa/opti9xx/miro.c | |
parent | 531213a93f0e75b934471bf5567babad4da1ff70 (diff) |
[ALSA] Fix double free in error path of miro driver
Fixed the double free in error path of miro driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/isa/opti9xx/miro.c')
-rw-r--r-- | sound/isa/opti9xx/miro.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c index 83d64bc07ff0..e6bfcf74c1c1 100644 --- a/sound/isa/opti9xx/miro.c +++ b/sound/isa/opti9xx/miro.c | |||
@@ -1179,20 +1179,17 @@ static int __init snd_card_miro_aci_detect(struct snd_card *card, struct snd_mir | |||
1179 | /* force ACI into a known state */ | 1179 | /* force ACI into a known state */ |
1180 | for (i = 0; i < 3; i++) | 1180 | for (i = 0; i < 3; i++) |
1181 | if (aci_cmd(miro, ACI_ERROR_OP, -1, -1) < 0) { | 1181 | if (aci_cmd(miro, ACI_ERROR_OP, -1, -1) < 0) { |
1182 | snd_card_free(card); | ||
1183 | snd_printk(KERN_ERR "can't force aci into known state.\n"); | 1182 | snd_printk(KERN_ERR "can't force aci into known state.\n"); |
1184 | return -ENXIO; | 1183 | return -ENXIO; |
1185 | } | 1184 | } |
1186 | 1185 | ||
1187 | if ((miro->aci_vendor=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0 || | 1186 | if ((miro->aci_vendor=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0 || |
1188 | (miro->aci_product=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0) { | 1187 | (miro->aci_product=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0) { |
1189 | snd_card_free(card); | ||
1190 | snd_printk(KERN_ERR "can't read aci id on 0x%lx.\n", miro->aci_port); | 1188 | snd_printk(KERN_ERR "can't read aci id on 0x%lx.\n", miro->aci_port); |
1191 | return -ENXIO; | 1189 | return -ENXIO; |
1192 | } | 1190 | } |
1193 | 1191 | ||
1194 | if ((miro->aci_version=aci_cmd(miro, ACI_READ_VERSION, -1, -1)) < 0) { | 1192 | if ((miro->aci_version=aci_cmd(miro, ACI_READ_VERSION, -1, -1)) < 0) { |
1195 | snd_card_free(card); | ||
1196 | snd_printk(KERN_ERR "can't read aci version on 0x%lx.\n", | 1193 | snd_printk(KERN_ERR "can't read aci version on 0x%lx.\n", |
1197 | miro->aci_port); | 1194 | miro->aci_port); |
1198 | return -ENXIO; | 1195 | return -ENXIO; |