Commit:     d6c3cf81f05c8dd8e5e656d4bcb8d5f2569d0262
Parent:     776e184e8082a4ec9bf4fe18b11dae6dc4e43d1f
Author:     Takashi Iwai <[EMAIL PROTECTED]>
AuthorDate: Wed Aug 29 15:12:46 2007 +0200
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 15:59:34 2007 +0200

    [ALSA] ac97 - Suppress the reset of audio-codec from modem-codec at resume
    On codec chips with both audio and modem functions (e.g. Conexant one),
    performing AC97_RESET resets the whole registers.  When both audio and
    modem drivers are resumed at the same time, the modem one often is
    resumed after the audio, and it results in the reset of audio registers
    (ALSA bug#3333).
    This patch fixes such a problem.  Since the modem codec basically
    doesn't need AC97_RESET, skip this initialization unless specified
    as audio.
    Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
 sound/pci/ac97/ac97_codec.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index df13333..3e5ff29 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -2496,7 +2496,10 @@ void snd_ac97_resume(struct snd_ac97 *ac97)
        snd_ac97_write(ac97, AC97_POWERDOWN, 0);
        if (! (ac97->flags & AC97_DEFAULT_POWER_OFF)) {
-               snd_ac97_write(ac97, AC97_RESET, 0);
+               if (!(ac97->scaps & AC97_SCAP_SKIP_AUDIO))
+                       snd_ac97_write(ac97, AC97_RESET, 0);
+               else if (!(ac97->scaps & AC97_SCAP_SKIP_MODEM))
+                       snd_ac97_write(ac97, AC97_EXTENDED_MID, 0);
                snd_ac97_write(ac97, AC97_POWERDOWN, 0);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to