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: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
75eb1c311d
commit
bff5fbf50b
|
@ -1101,6 +1101,7 @@ static int via_mux_enum_put(struct snd_kcontrol *kcontrol,
|
||||||
struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
|
struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
|
||||||
struct via_spec *spec = codec->spec;
|
struct via_spec *spec = codec->spec;
|
||||||
unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
|
unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (!spec->mux_nids[adc_idx])
|
if (!spec->mux_nids[adc_idx])
|
||||||
return -EINVAL;
|
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)
|
AC_VERB_GET_POWER_STATE, 0x00) != AC_PWRST_D0)
|
||||||
snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
|
snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
|
||||||
AC_VERB_SET_POWER_STATE, AC_PWRST_D0);
|
AC_VERB_SET_POWER_STATE, AC_PWRST_D0);
|
||||||
|
|
||||||
|
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 */
|
/* update jack power state */
|
||||||
set_jack_power_state(codec);
|
set_jack_power_state(codec);
|
||||||
|
|
||||||
return snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
|
return ret;
|
||||||
spec->mux_nids[adc_idx],
|
|
||||||
&spec->cur_mux[adc_idx]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int via_independent_hp_info(struct snd_kcontrol *kcontrol,
|
static int via_independent_hp_info(struct snd_kcontrol *kcontrol,
|
||||||
|
|
Loading…
Reference in New Issue