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

Reply via email to