OSDN Git Service

pcm: dmix: Fix the inconsistent PCM state
authorTakashi Iwai <tiwai@suse.de>
Tue, 30 May 2017 21:08:51 +0000 (23:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 31 May 2017 10:47:31 +0000 (12:47 +0200)
commit3752e6b8733dae538d777e726c239d4f723070b1
tree8e172fee15ad122a5ae87b33651359280301e060
parentbb862e3bb16ada990e03a0ad24ac2ea209f48631
pcm: dmix: Fix the inconsistent PCM state

The commit 38a2d2eda880 ("pcm: dmix: Do not discard slave reported
delay in...") changed the handling in snd_pcm_dmix_status() for taking
the actual delay from the slave PCM status.  Along with it, the commit
removed the line to update its own state altogether, as it had been
done originally in the dshare patch (commit faf53c197cab "pcm_dshare:
Do not discard slave reported delay..."), supposing that the slave PCM
keeps this same state.  However, for dmix/dshare, the PCM state may
differ from the slave, thus these changes resulted in the inconsistent
PCM state.

For dshare, the issue was already addressed by commit ad6957c61867
("plugin:dshare: wrong state reporting"), while the fix for dmix was
forgotten until now.

This patch restores the code to set the proper dmix PCM state again
like in the previous versions.

Fixes: 38a2d2eda880 ("pcm: dmix: Do not discard slave reported delay in...")
Reported-by: Cheng Sun <chengsun9@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_dmix.c