WSL2-Linux-Kernel/sound
Takashi Iwai c15871e17f ALSA: usb-audio: Fix possible stall of implicit fb packet ring-buffer
The implicit feedback mode uses a ring buffer for storing the received
packet sizes from the feedback source, and the code has a slight flaw;
when a playback stream stalls by some reason and the URBs aren't
processed, the next_packet FIFO might become empty, but the driver
can't distinguish whether it's empty or full because it's managed with
read_poss and write_pos.

This patch addresses those by changing the next_packet array
management.  Instead of keeping read and write positions, now the head
position and the queued amount are kept.  It's easier to understand
about the emptiness.  Also, the URB active flag is now cleared before
calling queue_pending_output_urbs() for avoiding (theoretically)
possible inconsistency.

Tested-by: Keith Milner <kamilner@superlative.org>
Tested-by: Dylan Robinson <dylan_robinson@motu.com>
Link: https://lore.kernel.org/r/20201123085347.19667-27-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-11-23 15:15:26 +01:00
..
ac97
aoa
arm
atmel
core ALSA: ctl: fix error path at adding user-defined element set 2020-11-13 11:33:55 +01:00
drivers ALSA: portman2x4: fix repeated word 'if' 2020-10-06 18:08:19 +02:00
firewire ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() 2020-11-13 18:37:22 +01:00
hda ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() 2020-11-03 14:11:38 +01:00
i2c
isa
mips hal2: convert to dma_alloc_noncoherent 2020-09-25 06:20:44 +02:00
oss
parisc
pci ALSA: mixart: Fix mutex deadlock 2020-11-19 18:26:30 +01:00
pcmcia
ppc
sh
soc ASoC: Fixes for v5.11 2020-11-19 19:56:29 +01:00
sparc ALSA: sparc: dbri: fix repeated word 'the' 2020-10-17 09:58:35 +02:00
spi
synth
usb ALSA: usb-audio: Fix possible stall of implicit fb packet ring-buffer 2020-11-23 15:15:26 +01:00
x86
xen
Kconfig
Makefile
ac97_bus.c
last.c
sound_core.c