Browse Source

ALSA: hda - Set single_adc_amp flag for CS420x codecs

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>
Takashi Iwai 10 years ago
parent
commit
bad994f5b4
1 changed files with 1 additions and 0 deletions
  1. 1 0
      sound/pci/hda/patch_cirrus.c

+ 1 - 0
sound/pci/hda/patch_cirrus.c

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