summaryrefslogtreecommitdiff
path: root/sound/core/pcm.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-03-01 14:38:49 +0300
committerTakashi Iwai <tiwai@suse.de>2010-03-01 14:38:49 +0300
commit12c2a682b55a40f2a986e36d6632110029bc63a5 (patch)
treeba21f049e4859411f6c135d597dc26260963ce7c /sound/core/pcm.c
parenta86ba28583987b85845ed61be5f12aafb5fc4971 (diff)
parentaefbd3e823d4fe219bb6420b0cac505847270507 (diff)
downloadlinux-12c2a682b55a40f2a986e36d6632110029bc63a5.tar.xz
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'sound/core/pcm.c')
-rw-r--r--sound/core/pcm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/core/pcm.c b/sound/core/pcm.c
index 6884ae031f6f..0d428d0896db 100644
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -894,6 +894,7 @@ int snd_pcm_attach_substream(struct snd_pcm *pcm, int stream,
memset((void*)runtime->control, 0, size);
init_waitqueue_head(&runtime->sleep);
+ init_waitqueue_head(&runtime->tsleep);
runtime->status->state = SNDRV_PCM_STATE_OPEN;
@@ -921,6 +922,10 @@ void snd_pcm_detach_substream(struct snd_pcm_substream *substream)
snd_free_pages((void*)runtime->control,
PAGE_ALIGN(sizeof(struct snd_pcm_mmap_control)));
kfree(runtime->hw_constraints.rules);
+#ifdef CONFIG_SND_PCM_XRUN_DEBUG
+ if (runtime->hwptr_log)
+ kfree(runtime->hwptr_log);
+#endif
kfree(runtime);
substream->runtime = NULL;
put_pid(substream->pid);