소스 검색

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>
JongHo Kim 11 년 전
부모
커밋
ed697e1aaf
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      sound/core/pcm_lib.c

+ 2 - 0
sound/core/pcm_lib.c

@@ -1937,6 +1937,8 @@ static int wait_for_avail(struct snd_pcm_substream *substream,
 		case SNDRV_PCM_STATE_DISCONNECTED:
 		case SNDRV_PCM_STATE_DISCONNECTED:
 			err = -EBADFD;
 			err = -EBADFD;
 			goto _endloop;
 			goto _endloop;
+		case SNDRV_PCM_STATE_PAUSED:
+			continue;
 		}
 		}
 		if (!tout) {
 		if (!tout) {
 			snd_printd("%s write error (DMA or IRQ trouble?)\n",
 			snd_printd("%s write error (DMA or IRQ trouble?)\n",