summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-01-11 17:38:35 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:29:55 +0100
commitce22e03e62fd37fb2612abb7af1c66cc17038606 (patch)
treee85f4a243b417654dff2c336bd532c8e926a5307 /sound
parent9c8f2abdc5723b454ef4bfe23ec33ae2a46f62fc (diff)
downloadlinux-ce22e03e62fd37fb2612abb7af1c66cc17038606.tar.gz
linux-ce22e03e62fd37fb2612abb7af1c66cc17038606.tar.bz2
linux-ce22e03e62fd37fb2612abb7af1c66cc17038606.zip
[ALSA] hda-codec - Don't build boost controls for digital mics
The ALC auto-probe creates mic boost controls automatically for the probed pins, but it assumes that they are analog mics. The digital mics have no boost controls and must be skipped. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_realtek.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 4bc7f3daeab0..11bd68bb55f9 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6111,7 +6111,7 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec)
hda_nid_t nid;
nid = spec->autocfg.input_pins[AUTO_PIN_MIC];
- if (nid) {
+ if (nid && (get_wcaps(codec, nid) & AC_WCAP_IN_AMP)) {
err = add_control(spec, ALC_CTL_WIDGET_VOL,
"Mic Boost",
HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_INPUT));
@@ -6119,7 +6119,7 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec)
return err;
}
nid = spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC];
- if (nid) {
+ if (nid && (get_wcaps(codec, nid) & AC_WCAP_IN_AMP)) {
err = add_control(spec, ALC_CTL_WIDGET_VOL,
"Front Mic Boost",
HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_INPUT));