summaryrefslogtreecommitdiff
path: root/sound/core
diff options
context:
space:
mode:
authorJongHo Kim <furmuwon@gmail.com>2013-12-17 18:02:24 +0400
committerTakashi Iwai <tiwai@suse.de>2013-12-17 19:56:11 +0400
commited697e1aaf7237b1a62af39f64463b05c262808d (patch)
tree68c3d83f65c8820a7322ab2b03ad3ea3146dfeeb /sound/core
parentafdcd431cebe3498db9aa963c780fdd5099917ec (diff)
downloadlinux-ed697e1aaf7237b1a62af39f64463b05c262808d.tar.xz
ALSA: Add SNDRV_PCM_STATE_PAUSED case in wait_for_avail function
When the process is sleeping at the SNDRV_PCM_STATE_PAUSED state from the wait_for_avail function, the sleep process will be woken by timeout(10 seconds). Even if the sleep process wake up by timeout, by this patch, the process will continue with sleep and wait for the other state. Signed-off-by: JongHo Kim <furmuwon@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/pcm_lib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 6e03b465e44e..a2104671f51d 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -1937,6 +1937,8 @@ static int wait_for_avail(struct snd_pcm_substream *substream,
case SNDRV_PCM_STATE_DISCONNECTED:
err = -EBADFD;
goto _endloop;
+ case SNDRV_PCM_STATE_PAUSED:
+ continue;
}
if (!tout) {
snd_printd("%s write error (DMA or IRQ trouble?)\n",