mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 18:23:53 +08:00
ALSA: hda - Fix initialization of secondary capture source on VT1705
VT1705 codec has two ADCs where the secondary ADC has no MUX but only a fixed connection to the mic pin. This confused the driver and it tries always overriding the input-source selection by assumption of the existing MUX for the secondary ADC, resulted in resetting the input-source at each time PM (including power-saving) occurs. The fix is simply to check the existence of MUX for secondary ADCs in the initialization code. Tested-by: Anisse Astier <anisse@astier.eu> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
a1e0c3cf7f
commit
fc1156c0b0
@ -666,6 +666,9 @@ static void via_auto_init_analog_input(struct hda_codec *codec)
|
||||
/* init input-src */
|
||||
for (i = 0; i < spec->num_adc_nids; i++) {
|
||||
int adc_idx = spec->inputs[spec->cur_mux[i]].adc_idx;
|
||||
/* secondary ADCs must have the unique MUX */
|
||||
if (i > 0 && !spec->mux_nids[i])
|
||||
break;
|
||||
if (spec->mux_nids[adc_idx]) {
|
||||
int mux_idx = spec->inputs[spec->cur_mux[i]].mux_idx;
|
||||
snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
|
||||
|
Loading…
Reference in New Issue
Block a user