ALSA: hda - Update automute / automic upon jack retasking
authorTakashi Iwai <tiwai@suse.de>
Thu, 10 Jan 2013 15:10:06 +0000 (16:10 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sat, 12 Jan 2013 07:44:37 +0000 (08:44 +0100)
When a multi-io jack is switched to another direction, call the
automute and autoswitch update functions, as this jack won't be used
as the headphone or the mic jack that may turn off others.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_generic.c

index 2020faf..fb4d843 100644 (file)
@@ -1767,6 +1767,12 @@ static int set_multi_io(struct hda_codec *codec, int idx, bool output)
                snd_hda_activate_path(codec, path, false, true);
                set_pin_target(codec, nid, spec->multi_io[idx].ctl_in, true);
        }
+
+       /* update jack retasking in case it modifies any of them */
+       snd_hda_gen_hp_automute(codec, NULL);
+       snd_hda_gen_line_automute(codec, NULL);
+       snd_hda_gen_mic_autoswitch(codec, NULL);
+
        return 0;
 }