The inverted dmic fix overwrites the right channel amp value, but it
would work only when the amp values have been already actually
written. Put snd_hda_codec_resume_amp() before the amp write for
flushing caches.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
parm = AC_AMP_SET_RIGHT |
(dir == HDA_OUTPUT ? AC_AMP_SET_OUTPUT : AC_AMP_SET_INPUT);
+ /* flush all cached amps at first */
+ snd_hda_codec_resume_amp(codec);
+
/* we care only right channel */
val = snd_hda_codec_amp_read(codec, nid, 1, dir, 0);
if (val & 0x80) /* if already muted, we don't need to touch */