aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-11-06 05:25:34 -0500
committerTakashi Iwai <tiwai@suse.de>2011-11-06 05:25:34 -0500
commit43dea228a3ba5463392281535dfb3d3fe56f4c2c (patch)
tree1dc1396cb1ed3add3ba94aa9f01a6bad332c5d79 /sound/pci
parent447c6f93aba42e6889be55a614d4dddc25f17863 (diff)
ALSA: hda - Fix silent output regression with ALC861
The 3.1 kernel has a regression for ALC861 codec where no sound output is heard with the default setup. It's because the amps in DACs aren't properly unmuted while the output mixers are assigned only to pins. This patch fixes the missing initialization of DACs when no mixer is assigned to them. Tested-by: Andrea Iob <andrea_iob@yahoo.it> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_realtek.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 80d6add8a620..9693059dec84 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3329,6 +3329,12 @@ static void alc_auto_set_output_and_unmute(struct hda_codec *codec,
3329 if (nid) 3329 if (nid)
3330 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, 3330 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
3331 AMP_OUT_ZERO); 3331 AMP_OUT_ZERO);
3332
3333 /* unmute DAC if it's not assigned to a mixer */
3334 nid = alc_look_for_out_mute_nid(codec, pin, dac);
3335 if (nid == mix && nid_has_mute(codec, dac, HDA_OUTPUT))
3336 snd_hda_codec_write(codec, dac, 0, AC_VERB_SET_AMP_GAIN_MUTE,
3337 AMP_OUT_ZERO);
3332} 3338}
3333 3339
3334static void alc_auto_init_multi_out(struct hda_codec *codec) 3340static void alc_auto_init_multi_out(struct hda_codec *codec)