ALSA: hda - Fix conflict of d-mic capture volume controls
When the d-mics are assigned to the same purpose of another analog mic pins, the driver doesn't compute the index properly, resulting in an error with "existing control". This patch fixes it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c793bec550
commit
2d7ec12b90
|
@ -3481,6 +3481,8 @@ static int stac92xx_auto_create_dmic_input_ctls(struct hda_codec *codec,
|
|||
|
||||
label = hda_get_input_pin_label(codec, nid, 1);
|
||||
snd_hda_add_imux_item(dimux, label, index, &type_idx);
|
||||
if (snd_hda_get_bool_hint(codec, "separate_dmux") != 1)
|
||||
snd_hda_add_imux_item(imux, label, index, &type_idx);
|
||||
|
||||
err = create_elem_capture_vol(codec, nid, label, type_idx,
|
||||
HDA_INPUT);
|
||||
|
@ -3492,9 +3494,6 @@ static int stac92xx_auto_create_dmic_input_ctls(struct hda_codec *codec,
|
|||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
|
||||
if (snd_hda_get_bool_hint(codec, "separate_dmux") != 1)
|
||||
snd_hda_add_imux_item(imux, label, index, NULL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue