ALSA: hda - Fix the logic to detect VIA analog low-current mode
authorTakashi Iwai <tiwai@suse.de>
Tue, 24 Jan 2012 12:58:36 +0000 (13:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Feb 2012 19:16:50 +0000 (11:16 -0800)
commit 924339239fd5ba3e505f9420d41f0939196f3530 upstream.

The analog low-current mode must be enabled when the no stream is
running but the current detection checks it in a wrong way.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=741128

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/patch_via.c

index 8d69e59..0684542 100644 (file)
@@ -1041,7 +1041,7 @@ static void analog_low_current_mode(struct hda_codec *codec)
        bool enable;
        unsigned int verb, parm;
 
-       enable = is_aa_path_mute(codec) && (spec->opened_streams != 0);
+       enable = is_aa_path_mute(codec) && !spec->opened_streams;
 
        /* decide low current mode's verb & parameter */
        switch (spec->codec_type) {