mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
ALSA: hda - Fix yet another auto-mic bug in ALC268
Since patch_alc268() doesn't call set_capture_mixer() (due to its h/w design different from other siblings), it needs to call fixup_automic_adc() explicitly to set up the auto-mic routing. Otherwise the indices for int/ext mics aren't set properly. Reference: Novell bnc#544899 http://bugzilla.novell.com/show_bug.cgi?id=544899 Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
01d4825df6
commit
defb5ab2e0
1 changed files with 3 additions and 1 deletions
|
@ -12859,12 +12859,15 @@ static int patch_alc268(struct hda_codec *codec)
|
|||
unsigned int wcap = get_wcaps(codec, 0x07);
|
||||
int i;
|
||||
|
||||
spec->capsrc_nids = alc268_capsrc_nids;
|
||||
/* get type */
|
||||
wcap = get_wcaps_type(wcap);
|
||||
if (spec->auto_mic ||
|
||||
wcap != AC_WID_AUD_IN || spec->input_mux->num_items == 1) {
|
||||
spec->adc_nids = alc268_adc_nids_alt;
|
||||
spec->num_adc_nids = ARRAY_SIZE(alc268_adc_nids_alt);
|
||||
if (spec->auto_mic)
|
||||
fixup_automic_adc(codec);
|
||||
if (spec->auto_mic || spec->input_mux->num_items == 1)
|
||||
add_mixer(spec, alc268_capture_nosrc_mixer);
|
||||
else
|
||||
|
@ -12874,7 +12877,6 @@ static int patch_alc268(struct hda_codec *codec)
|
|||
spec->num_adc_nids = ARRAY_SIZE(alc268_adc_nids);
|
||||
add_mixer(spec, alc268_capture_mixer);
|
||||
}
|
||||
spec->capsrc_nids = alc268_capsrc_nids;
|
||||
/* set default input source */
|
||||
for (i = 0; i < spec->num_adc_nids; i++)
|
||||
snd_hda_codec_write_cache(codec, alc268_capsrc_nids[i],
|
||||
|
|
Loading…
Reference in a new issue