Re: snd-cs4236 (possibly all isa-pnp cards or all alsa isa-pnp cards) broken in 2.6.16-rc4

From: Takashi Iwai
Date: Tue Feb 21 2006 - 12:41:42 EST


At Tue, 21 Feb 2006 16:51:52 +0100,
Rene Herman wrote:
>
> Takashi Iwai wrote:
>
> > Rene Herman wrote:
>
> >> I noticed on 2.6.16-rc4 that my MPU-401 wasn't functional, due to a
> >> simple copy & paste error in sound/isa/cs423x/cs4236.c:
> >
> > Thanks, I applied it to ALSA CVS tree, too.
>
> The patch Adam sent fixes the ".remove not called" issue. It _also_
> fixes the OOPS in snd_timer_free() I sent along, so that one wasn't
> independent. During testing, I uncovered one more bug though.
>
> After using aplaymidi (to test cs4236 mpu401), which pulls in
> snd-seq-oss, modprobe -r snd-cs4236 tells me:
>
> "ALSA sound/core/device.c:106: device free eee4e000 (from f099153d), not
> found"
>
> That then stays until reboot, with a different device address each time.

This is harmless. The opl3-oss instance was already freed but the
driver tries to release it again just to be sure.

The patch below should fix this annoyance.


Takashi

===

[PATCH] Fix bogus snd_device_free() in opl3-oss.c

Remove snd_device_free() for an opl3-oss instance which should have
been released.

Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

---
diff -u -r1.14 opl3_oss.c
--- linux/sound/drivers/opl3/opl3_oss.c 17 Nov 2005 14:11:29 -0000 1.14
+++ linux/sound/drivers/opl3/opl3_oss.c 21 Feb 2006 17:38:41 -0000
@@ -146,7 +146,7 @@
void snd_opl3_free_seq_oss(struct snd_opl3 *opl3)
{
if (opl3->oss_seq_dev) {
- snd_device_free(opl3->card, opl3->oss_seq_dev);
+ /* The instance should have been released in prior */
opl3->oss_seq_dev = NULL;
}
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/