mirror of https://gitee.com/openkylin/linux.git
ALSA: hda - Avoid unnecessary verbs to clear PCM formats
Since really_cleanup_stream() is called from both purity_inactive_streams() and hda_cleanup_all_streams(), the verbs to clear the PCM channel and format may be called multiple times unnecessarily. This patch adds checks to skip these unneeded verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5ec02a1cfa
commit
218264ae9a
|
@ -1491,8 +1491,11 @@ static void really_cleanup_stream(struct hda_codec *codec,
|
|||
struct hda_cvt_setup *q)
|
||||
{
|
||||
hda_nid_t nid = q->nid;
|
||||
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CHANNEL_STREAMID, 0);
|
||||
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, 0);
|
||||
if (q->stream_tag || q->channel_id)
|
||||
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CHANNEL_STREAMID, 0);
|
||||
if (q->format_id)
|
||||
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_STREAM_FORMAT, 0
|
||||
);
|
||||
memset(q, 0, sizeof(*q));
|
||||
q->nid = nid;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue