forked from Minki/linux
ALSA: hda - Don't override ADC definitions for ALC codecs
ALC269 and ALC861-VD parsers override the ADC definitions unconditionally without checking the spec definition. This causes the problem when any inconsistent ADC is set up in the device quirk (like ALC272 with digital-mic). This patch avoids the overriding by adding the proper checks. Reference: Novell bnc#529467 https://bugzilla.novell.com/show_bug.cgi?id=529467 Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
100d5eb36b
commit
dd704698f5
@ -15579,9 +15579,12 @@ static int patch_alc861vd(struct hda_codec *codec)
|
||||
spec->stream_digital_playback = &alc861vd_pcm_digital_playback;
|
||||
spec->stream_digital_capture = &alc861vd_pcm_digital_capture;
|
||||
|
||||
spec->adc_nids = alc861vd_adc_nids;
|
||||
spec->num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids);
|
||||
spec->capsrc_nids = alc861vd_capsrc_nids;
|
||||
if (!spec->adc_nids) {
|
||||
spec->adc_nids = alc861vd_adc_nids;
|
||||
spec->num_adc_nids = ARRAY_SIZE(alc861vd_adc_nids);
|
||||
}
|
||||
if (!spec->capsrc_nids)
|
||||
spec->capsrc_nids = alc861vd_capsrc_nids;
|
||||
|
||||
set_capture_mixer(spec);
|
||||
set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
|
||||
@ -17498,9 +17501,12 @@ static int patch_alc662(struct hda_codec *codec)
|
||||
spec->stream_digital_playback = &alc662_pcm_digital_playback;
|
||||
spec->stream_digital_capture = &alc662_pcm_digital_capture;
|
||||
|
||||
spec->adc_nids = alc662_adc_nids;
|
||||
spec->num_adc_nids = ARRAY_SIZE(alc662_adc_nids);
|
||||
spec->capsrc_nids = alc662_capsrc_nids;
|
||||
if (!spec->adc_nids) {
|
||||
spec->adc_nids = alc662_adc_nids;
|
||||
spec->num_adc_nids = ARRAY_SIZE(alc662_adc_nids);
|
||||
}
|
||||
if (!spec->capsrc_nids)
|
||||
spec->capsrc_nids = alc662_capsrc_nids;
|
||||
|
||||
if (!spec->cap_mixer)
|
||||
set_capture_mixer(spec);
|
||||
|
Loading…
Reference in New Issue
Block a user