提交 affdb62b 编写于 作者: T Takashi Iwai

ALSA: hda - Don't set up active streams twice

We don't have to set up a stream that has been already set up
previously.
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 50b15487
...@@ -1493,7 +1493,7 @@ void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid, ...@@ -1493,7 +1493,7 @@ void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid,
"NID=0x%x, stream=0x%x, channel=%d, format=0x%x\n", "NID=0x%x, stream=0x%x, channel=%d, format=0x%x\n",
nid, stream_tag, channel_id, format); nid, stream_tag, channel_id, format);
p = get_hda_cvt_setup(codec, nid); p = get_hda_cvt_setup(codec, nid);
if (!p) if (!p || p->active)
return; return;
if (codec->pcm_format_first) if (codec->pcm_format_first)
...@@ -1540,7 +1540,7 @@ void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid, ...@@ -1540,7 +1540,7 @@ void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid,
snd_printdd("hda_codec_cleanup_stream: NID=0x%x\n", nid); snd_printdd("hda_codec_cleanup_stream: NID=0x%x\n", nid);
p = get_hda_cvt_setup(codec, nid); p = get_hda_cvt_setup(codec, nid);
if (p) { if (p && p->active) {
/* here we just clear the active flag when do_now isn't set; /* here we just clear the active flag when do_now isn't set;
* actual clean-ups will be done later in * actual clean-ups will be done later in
* purify_inactive_streams() called from snd_hda_codec_prpapre() * purify_inactive_streams() called from snd_hda_codec_prpapre()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册