There appears to be a spin_unlock_irqsave() missing from the
pm resume function for cs4231. This diff shows where I think
it should go, but I'm not sure. Diff is against beta9.
--- cs4231.c_ORIG Fri Oct 12 06:43:19 2001
+++ cs4231.c Thu Nov 15 07:48:58 2001
@@ -1292,20 +1292,21 @@
timeout = inb(CS4231P(chip, REGSEL));
outb(chip->mce_bit | (timeout & 0x1f), CS4231P(chip, REGSEL));
if (timeout == 0x80)
snd_printk("down [0x%lx]: serious init problem - codec still busy\n",
chip->port);
if ((timeout & CS4231_MCE) == 0 ||
!(chip->hardware & (CS4231_HW_CS4231_MASK |
CS4231_HW_CS4232_MASK))) {
spin_unlock_irqrestore(&chip->reg_lock, flags);
return;
}
snd_cs4231_busy_wait(chip);
+ spin_unlock_irqrestore(&chip->reg_lock, flags);
return;
#endif
}
static int snd_cs4231_pm_callback(struct pm_dev *dev, pm_request_t
rqst, void *data)
{
cs4231_t *chip = snd_magic_cast(cs4231_t, dev->data, return 0);
switch (rqst) {
case PM_SUSPEND:
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel