aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers/opl3
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-01-03 13:56:55 -0500
committerJaroslav Kysela <perex@suse.cz>2006-01-04 04:13:52 -0500
commit676338a1623ee9b60a6efb19ef8f743ab3b2eecb (patch)
tree353750772b10adbfa8eed9a09fea94b72f8f55ad /sound/drivers/opl3
parent3e23c658833f135508127c955d40d7c9387f71dd (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>
Diffstat (limited to 'sound/drivers/opl3')
-rw-r--r--sound/drivers/opl3/opl3_lib.c6
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 */