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