From: Lydia Wang Date: Sat, 10 Oct 2009 11:07:55 +0000 (+0800) Subject: ALSA: HDA VIA: When changing input source, update power state. X-Git-Tag: firefly_0821_release~9833^2~3540^2~5^2~115 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a80e6e3c8c21ca50837e2e42fa438a4ff4a9788e;p=firefly-linux-kernel-4.4.55.git ALSA: HDA VIA: When changing input source, update power state. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai --- diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 26ee1c3a4d16..c5e99944990a 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c @@ -549,6 +549,14 @@ static int via_mux_enum_put(struct snd_kcontrol *kcontrol, if (!spec->mux_nids[adc_idx]) return -EINVAL; + /* switch to D0 beofre change index */ + if (snd_hda_codec_read(codec, spec->mux_nids[adc_idx], 0, + 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, spec->mux_nids[adc_idx], &spec->cur_mux[adc_idx]);