summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-11-06 11:25:34 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-11 09:44:04 -0800
commit06a7f3b7c095b22b5a8ddec54e38993f8e70058b (patch)
treea620d0ec0a917248f590f43d0f90504109b73450
parente39c381f3828cda41d6b96ce3612db66ad6eb786 (diff)
downloadlwn-06a7f3b7c095b22b5a8ddec54e38993f8e70058b.tar.gz
lwn-06a7f3b7c095b22b5a8ddec54e38993f8e70058b.zip
ALSA: hda - Fix silent output regression with ALC861
commit 43dea228a3ba5463392281535dfb3d3fe56f4c2c upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 d0494bd0558b..be79c9f75c09 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3077,6 +3077,12 @@ static void alc_auto_set_output_and_unmute(struct hda_codec *codec,
if (nid)
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
AMP_OUT_ZERO);
+
+ /* unmute DAC if it's not assigned to a mixer */
+ nid = alc_look_for_out_mute_nid(codec, pin, dac);
+ if (nid == mix && nid_has_mute(codec, dac, HDA_OUTPUT))
+ snd_hda_codec_write(codec, dac, 0, AC_VERB_SET_AMP_GAIN_MUTE,
+ AMP_OUT_ZERO);
}
static void alc_auto_init_multi_out(struct hda_codec *codec)