diff options
author | Takashi Iwai <tiwai@suse.de> | 2006-01-03 13:56:55 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-01-04 04:13:52 -0500 |
commit | 676338a1623ee9b60a6efb19ef8f743ab3b2eecb (patch) | |
tree | 353750772b10adbfa8eed9a09fea94b72f8f55ad | |
parent | 3e23c658833f135508127c955d40d7c9387f71dd (diff) |
[ALSA] opl3 - Fix the unreleased resources
Modules: OPL3
Fix the unreleased resources in the error path of snd_opl3_create().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/drivers/opl3/opl3_lib.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/drivers/opl3/opl3_lib.c b/sound/drivers/opl3/opl3_lib.c index 650f3b8e60e0..1e0c76b9acfc 100644 --- a/sound/drivers/opl3/opl3_lib.c +++ b/sound/drivers/opl3/opl3_lib.c | |||
@@ -409,13 +409,13 @@ int snd_opl3_create(struct snd_card *card, | |||
409 | if (! integrated) { | 409 | if (! integrated) { |
410 | if ((opl3->res_l_port = request_region(l_port, 2, "OPL2/3 (left)")) == NULL) { | 410 | if ((opl3->res_l_port = request_region(l_port, 2, "OPL2/3 (left)")) == NULL) { |
411 | snd_printk(KERN_ERR "opl3: can't grab left port 0x%lx\n", l_port); | 411 | snd_printk(KERN_ERR "opl3: can't grab left port 0x%lx\n", l_port); |
412 | snd_opl3_free(opl3); | 412 | snd_device_free(card, opl3); |
413 | return -EBUSY; | 413 | return -EBUSY; |
414 | } | 414 | } |
415 | if (r_port != 0 && | 415 | if (r_port != 0 && |
416 | (opl3->res_r_port = request_region(r_port, 2, "OPL2/3 (right)")) == NULL) { | 416 | (opl3->res_r_port = request_region(r_port, 2, "OPL2/3 (right)")) == NULL) { |
417 | snd_printk(KERN_ERR "opl3: can't grab right port 0x%lx\n", r_port); | 417 | snd_printk(KERN_ERR "opl3: can't grab right port 0x%lx\n", r_port); |
418 | snd_opl3_free(opl3); | 418 | snd_device_free(card, opl3); |
419 | return -EBUSY; | 419 | return -EBUSY; |
420 | } | 420 | } |
421 | } | 421 | } |
@@ -434,7 +434,7 @@ int snd_opl3_create(struct snd_card *card, | |||
434 | if ((err = snd_opl3_detect(opl3)) < 0) { | 434 | if ((err = snd_opl3_detect(opl3)) < 0) { |
435 | snd_printd("OPL2/3 chip not detected at 0x%lx/0x%lx\n", | 435 | snd_printd("OPL2/3 chip not detected at 0x%lx/0x%lx\n", |
436 | opl3->l_port, opl3->r_port); | 436 | opl3->l_port, opl3->r_port); |
437 | snd_opl3_free(opl3); | 437 | snd_device_free(card, opl3); |
438 | return err; | 438 | return err; |
439 | } | 439 | } |
440 | /* detect routine returns correct hardware type */ | 440 | /* detect routine returns correct hardware type */ |