aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-04-03 05:51:21 -0400
committerTakashi Iwai <tiwai@suse.de>2014-04-03 05:51:21 -0400
commit415d555e6b398b00fc1733f0113065a54df9106a (patch)
treecdddb55e5527d484c26c465150e4374e44bf02fe /sound/pci
parent8314f22589297bdb100788112f901fe885edacbc (diff)
ALSA: hda - Fix silent speaker output due to mute LED fixup
The recent fixups for HP laptops to support the mute LED made the speaker output silent on some machines. It turned out that they use the NID 0x18 for the speaker while it's also used for controlling the LED via VREF bits although the current driver code blindly assumes that such a node is a mic pin (where 0x18 is usually so). This patch fixes the problem by only changing the VREF bits and keeping the other pin ctl bits. Reported-and-tested-by: Hui Wang <hui.wang@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_realtek.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index dba297288398..053107786f33 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3371,8 +3371,9 @@ static void alc269_fixup_mic_mute_hook(void *private_data, int enabled)
3371 3371
3372 if (spec->mute_led_polarity) 3372 if (spec->mute_led_polarity)
3373 enabled = !enabled; 3373 enabled = !enabled;
3374 pinval = AC_PINCTL_IN_EN | 3374 pinval = snd_hda_codec_get_pin_target(codec, spec->mute_led_nid);
3375 (enabled ? AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80); 3375 pinval &= ~AC_PINCTL_VREFEN;
3376 pinval |= enabled ? AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80;
3376 if (spec->mute_led_nid) 3377 if (spec->mute_led_nid)
3377 snd_hda_set_pin_ctl_cache(codec, spec->mute_led_nid, pinval); 3378 snd_hda_set_pin_ctl_cache(codec, spec->mute_led_nid, pinval);
3378} 3379}