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

Commit bff5fbf5 authored by Lydia Wang's avatar Lydia Wang Committed by Takashi Iwai
Browse files

ALSA: hda - VIA: Fix stereo mixer recording no sound issue



Modify function via_mux_enum_put() to fix stereo mixer recording
no sound issue.

Signed-off-by: default avatarLydia Wang <lydiawang@viatech.com.cn>
Cc: <stable@kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 75eb1c31
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1101,6 +1101,7 @@ static int via_mux_enum_put(struct snd_kcontrol *kcontrol,
	struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
	struct via_spec *spec = codec->spec;
	unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
	int ret;

	if (!spec->mux_nids[adc_idx])
		return -EINVAL;
@@ -1109,12 +1110,14 @@ static int via_mux_enum_put(struct snd_kcontrol *kcontrol,
			       AC_VERB_GET_POWER_STATE, 0x00) != AC_PWRST_D0)
		snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
				    AC_VERB_SET_POWER_STATE, AC_PWRST_D0);
	/* update jack power state */
	set_jack_power_state(codec);

	return snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
	ret = snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
				     spec->mux_nids[adc_idx],
				     &spec->cur_mux[adc_idx]);
	/* update jack power state */
	set_jack_power_state(codec);

	return ret;
}

static int via_independent_hp_info(struct snd_kcontrol *kcontrol,