The bound capture volume and switch controls use the cached amp updates, but it's missing the flushing at the end. Signed-off-by: Takashi Iwai <tiwai@suse.de>
@@ -1919,6 +1919,7 @@ static int cap_put_caller(struct snd_kcontrol *kcontrol,
error:
codec->cached_write = 0;
mutex_unlock(&codec->control_mutex);
+ snd_hda_codec_flush_amp_cache(codec);
if (err >= 0 && spec->cap_sync_hook)
spec->cap_sync_hook(codec);
return err;