2005-01-05 01:58:47

by Dave Jones

[permalink] [raw]
Subject: ALSA Maestro driver spinlock bug.

One of our Fedora users reported a bug that showed up
with spinlock debugging enabled.

sound/pci/es1968.c: es1968_measure_clock()

At line 1811, we acquire &chip->reg_lock
and then call snd_es1968_bob_inc(), which
calls snd_es1968_bob_start(), which tries to
acquire the same lock at line 885.

It barfs as a result. Is it safe to move
the snd_es1968_bob_inc() call before we
take the lock ?

Dave


2005-01-05 13:31:27

by Takashi Iwai

[permalink] [raw]
Subject: Re: ALSA Maestro driver spinlock bug.

At Tue, 4 Jan 2005 20:56:10 -0500,
Dave Jones wrote:
>
> One of our Fedora users reported a bug that showed up
> with spinlock debugging enabled.
>
> sound/pci/es1968.c: es1968_measure_clock()
>
> At line 1811, we acquire &chip->reg_lock
> and then call snd_es1968_bob_inc(), which
> calls snd_es1968_bob_start(), which tries to
> acquire the same lock at line 885.
>
> It barfs as a result. Is it safe to move
> the snd_es1968_bob_inc() call before we
> take the lock ?

Already fixed in the recent ALSA version.


Takashi