diff options
author | Takashi Iwai <tiwai@suse.de> | 2021-09-29 10:08:44 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2021-09-30 13:55:26 +0200 |
commit | 813a17cab9b708bbb1e0db8902e19857b57196ec (patch) | |
tree | f91282e2fbb445a1d96d873bce133dd75b8043a1 /fs/Kconfig | |
parent | d5f871f89e21bb71827ea57bd484eedea85839a0 (diff) | |
download | linux-813a17cab9b708bbb1e0db8902e19857b57196ec.tar.gz linux-813a17cab9b708bbb1e0db8902e19857b57196ec.tar.bz2 linux-813a17cab9b708bbb1e0db8902e19857b57196ec.zip |
ALSA: usb-audio: Avoid killing in-flight URBs during draining
While draining a stream, ALSA PCM core stops the stream by issuing
snd_pcm_stop() after all data has been sent out. And, at PCM trigger
stop, currently USB-audio driver kills the in-flight URBs explicitly,
then at sync-stop ops, sync with the finish of all remaining URBs.
This might result in a drop of the drained samples as most of
USB-audio devices / hosts allow relatively long in-flight samples (as
a sort of FIFO).
For avoiding the trimming, this patch changes the stream-stop behavior
during PCM draining state. Under that condition, the pending URBs
won't be killed. The leftover in-flight URBs are caught by the
sync-stop operation that shall be performed after the trigger-stop
operation.
Link: https://lore.kernel.org/r/20210929080844.11583-10-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'fs/Kconfig')
0 files changed, 0 insertions, 0 deletions