linux/sound/drivers/pcsp
Takashi Iwai 96c7d478ef ALSA: pcsp - Fix locking messes in snd-pcsp
snd-pcsp driver takes chip->substream_lock together with PCM substream
lock.  These are even mixed up with hrtimer's lock, resulting in messy
lock depencies.  Right now, snd-pcsp driver resolves the deadlock by
using HRTIMER_CB_SOFTIRQ.  However, this isn't nice for a really fast
path like bit-flipping.

This patch introduces a tasklet for PCM period handling so that the
hrtimer callback can be handled fast.  This also reduce the use of
chip->substream_lock to avoid deadlocks.  It's still used in pointer
callback, but even this could be removed with a proper barrier.

Another good solution is to introduce async trigger callback.  But,
this will involve with a major rewrite of the PCM core code, so I
take first this easy fix.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-20 14:47:15 +02:00
..
Makefile [ALSA] Add PC-speaker sound driver 2008-04-24 12:00:20 +02:00
pcsp_input.c [ALSA] Add PC-speaker sound driver 2008-04-24 12:00:20 +02:00
pcsp_input.h [ALSA] Add PC-speaker sound driver 2008-04-24 12:00:20 +02:00
pcsp_lib.c ALSA: pcsp - Fix locking messes in snd-pcsp 2008-10-20 14:47:15 +02:00
pcsp_mixer.c [ALSA] snd-pcsp - fix pcsp_treble_info() to honour an item number 2008-05-25 18:21:10 +02:00
pcsp.c ALSA: pcsp - Fix locking messes in snd-pcsp 2008-10-20 14:47:15 +02:00
pcsp.h ALSA: pcsp - Fix locking messes in snd-pcsp 2008-10-20 14:47:15 +02:00