lkml.org 
[lkml]   [2002]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Oops in 2.4.18 - opl3sa2 related?
This patch fixes a missing release_region in the opl3sa2 driver, however 
there are still a few more issues left which Brian is experiencing.

--- linux-2.4.19/drivers/sound/opl3sa2.c.orig Tue Apr 9 13:17:21 2002
+++ linux-2.4.19/drivers/sound/opl3sa2.c Tue Apr 9 13:19:38 2002
@@ -641,7 +641,7 @@
if(!request_region(hw_config->io_base, 2, OPL3SA2_MODULE_NAME)) {
printk(KERN_ERR PFX "Control I/O port %#x not free\n",
hw_config->io_base);
- return 0;
+ goto out_nodev;
}

/*
@@ -654,7 +654,7 @@
if(tmp != misc) {
printk(KERN_ERR PFX "Control I/O port %#x is not a YMF7xx chipset!\n",
hw_config->io_base);
- return 0;
+ goto out_region;
}

/*
@@ -667,7 +667,7 @@
printk(KERN_ERR
PFX "Control I/O port %#x is not a YMF7xx chipset!\n",
hw_config->io_base);
- return 0;
+ goto out_region;
}
opl3sa2_write(hw_config->io_base, OPL3SA2_MIC, tmp);

@@ -714,9 +714,13 @@
if(opl3sa2_state[card].chipset != CHIPSET_UNKNOWN) {
/* Generate a pretty name */
opl3sa2_state[card].chipset_name = (char *)CHIPSET_TABLE[opl3sa2_state[card].chipset];
- return 1;
+ return 0;
}
- return 0;
+
+out_region:
+ release_region(hw_config->iobase, 2);
+out_nodev:
+ return -ENODEV;
}


@@ -1061,7 +1065,7 @@
opl3sa2_clear_slots(&opl3sa2_state[card].cfg_mpu);
}

- if(!probe_opl3sa2(&opl3sa2_state[card].cfg, card) ||
+ if(probe_opl3sa2(&opl3sa2_state[card].cfg, card) ||
!probe_opl3sa2_mss(&opl3sa2_state[card].cfg_mss)) {
/*
* If one or more cards are already registered, don't
--
http://function.linuxpower.ca


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:25    [W:0.026 / U:1.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site