aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@suse.cz>2004-11-29 11:01:49 +0100
committerJaroslav Kysela <perex@suse.cz>2004-11-29 11:01:49 +0100
commit25ec38d23fe15c6e0d49db2e304e538c8196a42a (patch)
tree6bc3e9d08fc7f4eac14fcc13095a0e8f179e796c /sound
parentc65b948bdfb0dfbbd1716a703832a03bc1338399 (diff)
downloadhistory-25ec38d23fe15c6e0d49db2e304e538c8196a42a.tar.gz
[ALSA] fix sleep in atomic during prepare callback
Intel8x0 driver Fixed the sleep in spinlock during prepare callback. This happened only on Nforce chips. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/intel8x0.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index ffcfc2e6730f9f..669a9b842dfd14 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -1020,7 +1020,9 @@ static void snd_intel8x0_setup_pcm_out(intel8x0_t *chip,
*/
if (cnt & ICH_PCM_246_MASK) {
iputdword(chip, ICHREG(GLOB_CNT), cnt & ~ICH_PCM_246_MASK);
+ spin_unlock_irq(&chip->reg_lock);
msleep(50); /* grrr... */
+ spin_lock_irq(&chip->reg_lock);
}
} else if (chip->device_type == DEVICE_INTEL_ICH4) {
if (runtime->sample_bits > 16)