瀏覽代碼

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>
Takashi Iwai 12 年之前
父節點
當前提交
a836dbf685
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      sound/pci/hda/hda_generic.c

+ 1 - 0
sound/pci/hda/hda_generic.c

@@ -2840,6 +2840,7 @@ static int cap_put_caller(struct snd_kcontrol *kcontrol,
 	codec->cached_write = 0;
 	mutex_unlock(&codec->control_mutex);
 	snd_hda_codec_flush_amp_cache(codec); /* flush the updates */
+	snd_hda_codec_flush_cmd_cache(codec);
 	if (err >= 0 && spec->cap_sync_hook)
 		spec->cap_sync_hook(codec, ucontrol);
 	return err;