Re: [Emu10k1-devel] Re: Emu10k1 driver update

From: Rui Sousa (
Date: Tue Oct 09 2001 - 14:11:31 EST

On Tue, 9 Oct 2001, Jeff Garzik wrote:

Point taken.

>From what I see doing locking with a spinlock is quite tricky.

 codec->read_mixer = ac97_read_mixer; //can be called holding spinlock
 codec->write_mixer = ac97_write_mixer; //can be called holding spinlock
 codec->recmask_io = ac97_recmask_io;
 codec->mixer_ioctl = ac97_mixer_ioctl; //in general can't be called
holding spinlock

and ac97_mixer_ioctl() itself calls ac97_read/write_mixer().

A semaphore on the mixer device open function would do just fine If I
didn't had an interrupt handler also touching the ac97_codec...


> On Tue, 9 Oct 2001, Rui Sousa wrote:
> > Actually there is no locking implemented for the ac97 codec mixer.
> > It never seemed worth it, even if there are potential races in the code.
> > To have two applications accessing the mixer at the same time is a _very_
> > rare condition and the worse that can happen is to set a wrong volume
> > value. Anyway, I will give it another look and try to come up with a fix.
> I have a patch in the wings which adds locking to mixer accesses, for
> via82cxxx_audio, because the lack of locking was causing problems. So,
> some people with some apps do indeed notice...
> Jeff
> _______________________________________________
> Emu10k1-devel mailing list

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:27 EST