diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-03-07 12:30:27 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-03-07 12:30:27 -0500 |
commit | 3f550e323242bea82d07dfd06e6ce3f723eef7bd (patch) | |
tree | 9a142d2a7c6b25ad292a1ddf6e764d9ff73fdbf2 | |
parent | 5ebd3bbdcc17c9523dbbbf9c756da1676ca7e973 (diff) |
ALSA: hda - Allow to change I/O direction in hp/mic jack mode ctl
The previous commits added the capability to change the pin control of
hp/mic shared jack, but it actually didn't work as expected when the
value is changed from the output to the input, since I forgot to reset
the pin I/O bit in that case. This patch fixes the problem.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/hda_generic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index dc849e489641..cb40a0b7ce3e 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c | |||
@@ -2650,8 +2650,8 @@ static int hp_mic_jack_mode_put(struct snd_kcontrol *kcontrol, | |||
2650 | if (in_jacks > 1) { | 2650 | if (in_jacks > 1) { |
2651 | unsigned int vref_caps = get_vref_caps(codec, nid); | 2651 | unsigned int vref_caps = get_vref_caps(codec, nid); |
2652 | val = snd_hda_codec_get_pin_target(codec, nid); | 2652 | val = snd_hda_codec_get_pin_target(codec, nid); |
2653 | val &= ~AC_PINCTL_VREFEN; | 2653 | val &= ~(AC_PINCTL_VREFEN | PIN_HP); |
2654 | val |= get_vref_idx(vref_caps, idx); | 2654 | val |= get_vref_idx(vref_caps, idx) | PIN_IN; |
2655 | } else | 2655 | } else |
2656 | val = snd_hda_get_default_vref(codec, nid); | 2656 | val = snd_hda_get_default_vref(codec, nid); |
2657 | } | 2657 | } |