aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-05-10 07:39:50 -0400
committerTakashi Iwai <tiwai@suse.de>2013-05-10 07:41:37 -0400
commit6c35ae3c327ef4b5f51d3428d2ba47ac2153e882 (patch)
tree92db5a0674b4a913b5ec7fed34dfd455408ad856 /sound
parentd24f5a9ad9febffa53b1d3fcdf36c9a2283d848e (diff)
Revert "ALSA: hda - Don't set up active streams twice"
This reverts commit affdb62b815b38261f09f9d4ec210a35c7ffb1f3. The commit introduced a regression with AD codecs where the stream is always clean up. Since the patch is just a minor optimization and reverting the commit fixes the issue, let's just revert it. Reported-and-tested-by: Michael Burian <michael.burian@sbg.at> Cc: <stable@vger.kernel.org> [v3.9+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_codec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 86674f67abd1..55108b5fb291 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1583,7 +1583,7 @@ void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid,
1583 "NID=0x%x, stream=0x%x, channel=%d, format=0x%x\n", 1583 "NID=0x%x, stream=0x%x, channel=%d, format=0x%x\n",
1584 nid, stream_tag, channel_id, format); 1584 nid, stream_tag, channel_id, format);
1585 p = get_hda_cvt_setup(codec, nid); 1585 p = get_hda_cvt_setup(codec, nid);
1586 if (!p || p->active) 1586 if (!p)
1587 return; 1587 return;
1588 1588
1589 if (codec->pcm_format_first) 1589 if (codec->pcm_format_first)
@@ -1630,7 +1630,7 @@ void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid,
1630 1630
1631 snd_printdd("hda_codec_cleanup_stream: NID=0x%x\n", nid); 1631 snd_printdd("hda_codec_cleanup_stream: NID=0x%x\n", nid);
1632 p = get_hda_cvt_setup(codec, nid); 1632 p = get_hda_cvt_setup(codec, nid);
1633 if (p && p->active) { 1633 if (p) {
1634 /* here we just clear the active flag when do_now isn't set; 1634 /* here we just clear the active flag when do_now isn't set;
1635 * actual clean-ups will be done later in 1635 * actual clean-ups will be done later in
1636 * purify_inactive_streams() called from snd_hda_codec_prpapre() 1636 * purify_inactive_streams() called from snd_hda_codec_prpapre()