]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: firewire-lib: Restrict calling flush_context_completion() when context exists
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 25 Apr 2014 13:44:53 +0000 (22:44 +0900)
committerTakashi Iwai <tiwai@suse.de>
Mon, 26 May 2014 12:21:56 +0000 (14:21 +0200)
commit06b928d73f84af788b62d5d04b587f2da7bde950
tree2b803a0d5a5f84f87e5f61b8de5fe6413406519f
parent8c8cc5fe4101d82e5372201b4d7841b610508a24
ALSA: firewire-lib: Restrict calling flush_context_completion() when context exists

Currently, drivers can bring XRUN state for PCM substreams when error to
queue packets or detecting discontinuity of packet. The application may try to
recover this state by calling snd_pcm_prepare().

Depending on each driver, .prepare() includes restart streaming. Then there
is a state that PCM substreams are running but isochronous contexts are
stopped. In this case, when .pointer() is called, it refers to error pointer.

This commit is for a prevention of this bug.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/amdtp.c