aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-01-22 09:18:17 -0500
committerTakashi Iwai <tiwai@suse.de>2013-01-22 09:18:17 -0500
commita836dbf685fa58c7db6cd56ad4559b2e6c02c8d9 (patch)
treefa3fe65edec1b72f29348aed6b01afa28b0aa8a0 /sound
parent4bd01e9336cd0fa037c79b6b203a4b79aecbfb09 (diff)
ALSA: hda - Fix missing call of cmd flush in capture volume put callback
The capture volume put callback may call the node selection change, and its actual call won't be triggered unless flushed. In general, we always need to call both snd_hda_codec_flush_amp_cache() and snd_hda_codec_flush_cmd_cache() at the same place... Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_generic.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 374fd6c6558b..b301952dc081 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -2840,6 +2840,7 @@ static int cap_put_caller(struct snd_kcontrol *kcontrol,
2840 codec->cached_write = 0; 2840 codec->cached_write = 0;
2841 mutex_unlock(&codec->control_mutex); 2841 mutex_unlock(&codec->control_mutex);
2842 snd_hda_codec_flush_amp_cache(codec); /* flush the updates */ 2842 snd_hda_codec_flush_amp_cache(codec); /* flush the updates */
2843 snd_hda_codec_flush_cmd_cache(codec);
2843 if (err >= 0 && spec->cap_sync_hook) 2844 if (err >= 0 && spec->cap_sync_hook)
2844 spec->cap_sync_hook(codec, ucontrol); 2845 spec->cap_sync_hook(codec, ucontrol);
2845 return err; 2846 return err;