Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d7ec12b authored by Takashi Iwai's avatar Takashi Iwai
Browse files

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: default avatarTakashi Iwai <tiwai@suse.de>
parent c793bec5
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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;