[alsa-devel] [PATCH] ALSA: hda - Fix powermap for external mics on IDT codecs

David Henningsson david.henningsson at canonical.com
Mon Jan 28 11:29:17 CET 2013


This patch fixes a regression of the external mic not working on
HP Probook 4520s.

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 sound/pci/hda/patch_sigmatel.c |    8 ++++++++
 1 file changed, 8 insertions(+)

This is why my external mic stopped working; I now had some time to track it down.
Alsa-info at http://paste.ubuntu.com/1579993/

diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 1c49861..951fc0d 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -502,6 +502,13 @@ static void stac_line_automute(struct hda_codec *codec,
 	jack_update_power(codec, jack);
 }
 
+static void stac_mic_autoswitch(struct hda_codec *codec,
+				struct hda_jack_tbl *jack)
+{
+	snd_hda_gen_mic_autoswitch(codec, jack);
+	jack_update_power(codec, jack);
+}
+
 static void stac_vref_event(struct hda_codec *codec, struct hda_jack_tbl *event)
 {
 	unsigned int data;
@@ -3509,6 +3516,7 @@ static int stac_parse_auto_config(struct hda_codec *codec)
 	spec->gen.automute_hook = stac_update_outputs;
 	spec->gen.hp_automute_hook = stac_hp_automute;
 	spec->gen.line_automute_hook = stac_line_automute;
+	spec->gen.mic_autoswitch_hook = stac_mic_autoswitch;
 
 	err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg);
 	if (err < 0)
-- 
1.7.9.5



More information about the Alsa-devel mailing list