]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.drivers/alsa-hda-realtek-mic-automute-fix
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / alsa-hda-realtek-mic-automute-fix
CommitLineData
2cb7cef9
BS
1From: Takashi Iwai <tiwai@suse.de>
2Subject: ALSA: hda - Disable broken mic auto-muting in Realtek codes
3Patch-mainline:
4References: bnc#440626
5
6The recent addition of automatic mic-muting is broken in some cases.
7The code assumes that the pin nids <= 0x18, but the digital pins can
8be less than 0x18.
9Also, it assumes the front-mic being the internal mic, but it depends
10on the hardware implementation actually.
11
12Instead of complex case-fixes, better to disable the code as now.
13
14Signed-off-by: Takashi Iwai <tiwai@suse.de>
15
16---
17 sound/pci/hda/patch_realtek.c | 6 ++++++
18 1 file changed, 6 insertions(+)
19
20--- a/sound/pci/hda/patch_realtek.c
21+++ b/sound/pci/hda/patch_realtek.c
22@@ -829,6 +829,7 @@ static void alc_sku_automute(struct hda_
23 spec->jack_present ? 0 : PIN_OUT);
24 }
25
26+#if 0 /* it's broken in some acses -- temporarily disabled */
27 static void alc_mic_automute(struct hda_codec *codec)
28 {
29 struct alc_spec *spec = codec->spec;
30@@ -849,6 +850,9 @@ static void alc_mic_automute(struct hda_
31 snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic,
32 HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0);
33 }
34+#else
35+#define alc_mic_automute(codec) /* NOP */
36+#endif /* disabled */
37
38 /* unsolicited event for HP jack sensing */
39 static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res)
40@@ -1060,12 +1064,14 @@ do_sku:
41 AC_VERB_SET_UNSOLICITED_ENABLE,
42 AC_USRSP_EN | ALC880_HP_EVENT);
43
44+#if 0 /* it's broken in some acses -- temporarily disabled */
45 if (spec->autocfg.input_pins[AUTO_PIN_MIC] &&
46 spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC])
47 snd_hda_codec_write(codec,
48 spec->autocfg.input_pins[AUTO_PIN_MIC], 0,
49 AC_VERB_SET_UNSOLICITED_ENABLE,
50 AC_USRSP_EN | ALC880_MIC_EVENT);
51+#endif /* disabled */
52
53 spec->unsol_event = alc_sku_unsol_event;
54 }