ALSA: hda - Set single_adc_amp flag for CS420x codecs
authorTakashi Iwai <tiwai@suse.de>
Thu, 12 Mar 2015 19:28:04 +0000 (20:28 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 12 Mar 2015 19:28:04 +0000 (20:28 +0100)
CS420x codecs seem to deal only the single amps of ADC nodes even
though the nodes receive multiple inputs.  This leads to the
inconsistent amp value after S3/S4 resume, for example.

The fix is just to set codec->single_adc_amp flag.  Then the driver
handles these ADC amps as if single connections.

Reported-and-tested-by: Vasil Zlatanov <vasil.zlatanov@gmail.com>
Cc: <stable@vger.kernel.org> # 3.9+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_cirrus.c

index 1589c9bcce3e15a230f87d352f2ae165252c358d..ab687ffb28c22c7c8a552b0c0b218361196353eb 100644 (file)
@@ -584,6 +584,7 @@ static int patch_cs420x(struct hda_codec *codec)
                return -ENOMEM;
 
        spec->gen.automute_hook = cs_automute;
+       codec->single_adc_amp = 1;
 
        snd_hda_pick_fixup(codec, cs420x_models, cs420x_fixup_tbl,
                           cs420x_fixups);