Hi,

here is a patch which fixes a bug on T30 computers when switching back
from suspend mode.

The first modification allow the system to recover from errors when a
warm reset is not enough.

The second one fixes the bug I explained.

With this patch no need to kill all the applications using audio devices
before switching to suspend mode.

I made the patch with an old version on the driver (0.9.4) but it's easy
to port it for the CVS version.

Regards,

-- 
Arnaud
--- ../alsa-driver-0.9.4/alsa-kernel/pci/intel8x0.c     2003-05-20 14:55:15.000000000 
+0200
+++ alsa-kernel/pci/intel8x0.c  2003-06-07 12:22:49.000000000 +0200
@@ -1542,7 +1542,10 @@
        }
        ac97.pci = chip->pci;
        if ((err = snd_ac97_mixer(chip->card, &ac97, &x97)) < 0)
+       {
+               iputdword(chip, ICHREG(GLOB_CNT), igetdword(chip, ICHREG(GLOB_CNT)) & 
~ICH_AC97COLD);
                return err;
+       }
        chip->ac97[0] = x97;
        snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks);
        /* the following three entries are common among all devices */
@@ -1769,7 +1772,7 @@
        if (status == (ICH_PCR | ICH_SCR | ICH_TCR))
                goto __ok3;
        /* wait for other codecs ready status. No secondary codecs? , ok */
-       end_time = jiffies + HZ / 4;
+       end_time = jiffies + HZ / 2;
        do {
                nstatus = igetdword(chip, ICHREG(GLOB_STA)) & (ICH_PCR | ICH_SCR | 
ICH_TCR);
                if (nstatus != status) {

Reply via email to