| From bff5fbf50bd498c217994bd2d41a53ac3141185a Mon Sep 17 00:00:00 2001 |
| From: Lydia Wang <lydiawang@viatech.com.cn> |
| Date: Tue, 22 Mar 2011 16:21:38 +0800 |
| Subject: ALSA: hda - VIA: Fix stereo mixer recording no sound issue |
| |
| From: Lydia Wang <lydiawang@viatech.com.cn> |
| |
| commit bff5fbf50bd498c217994bd2d41a53ac3141185a upstream. |
| |
| Modify function via_mux_enum_put() to fix stereo mixer recording |
| no sound issue. |
| |
| Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/pci/hda/patch_via.c | 9 ++++++--- |
| 1 file changed, 6 insertions(+), 3 deletions(-) |
| |
| --- a/sound/pci/hda/patch_via.c |
| +++ b/sound/pci/hda/patch_via.c |
| @@ -1060,6 +1060,7 @@ static int via_mux_enum_put(struct snd_k |
| 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; |
| @@ -1068,12 +1069,14 @@ static int via_mux_enum_put(struct snd_k |
| 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, |