diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-08-11 08:18:39 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-10-20 12:47:15 (GMT) |
commit | 96c7d478efad594e483ee8a826395b1342404885 (patch) | |
tree | 8ecb6f20f1f72f9d406b3c949d9b811347dcbb3e /sound/pci/ac97 | |
parent | 76a4d10e522bfc238ddf70f35272088d420d2dcf (diff) | |
download | linux-96c7d478efad594e483ee8a826395b1342404885.tar.xz |
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>
Diffstat (limited to 'sound/pci/ac97')
0 files changed, 0 insertions, 0 deletions