android_kernel_oneplus_msm8998/sound
Henry Lin d99926e1ae ALSA: usb-audio: not submit urb for stopped endpoint
commit 528699317dd6dc722dccc11b68800cf945109390 upstream.

While output urb's snd_complete_urb() is executing, calling
prepare_outbound_urb() may cause endpoint stopped before
prepare_outbound_urb() returns and result in next urb submitted
to stopped endpoint. usb-audio driver cannot re-use it afterwards as
the urb is still hold by usb stack.

This change checks EP_FLAG_RUNNING flag after prepare_outbound_urb() again
to let snd_complete_urb() know the endpoint already stopped and does not
submit next urb. Below kind of error will be fixed:

[  213.153103] usb 1-2: timeout: still 1 active urbs on EP #1
[  213.164121] usb 1-2: cannot submit urb 0, error -16: unknown error

Signed-off-by: Henry Lin <henryl@nvidia.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191113021420.13377-1-henryl@nvidia.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-25 15:53:42 +01:00
..
aoa ALSA: snd-aoa: add of_node_put() in error path 2018-10-10 08:52:05 +02:00
arm ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm 2015-09-30 23:21:16 +01:00
atmel ALSA: sound/atmel/ac97c.c: remove unused variable 2015-05-20 06:18:25 +02:00
core ALSA: seq: Fix potential concurrent access to the deleted pool 2019-09-06 10:18:15 +02:00
drivers ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration 2019-04-27 09:33:57 +02:00
firewire ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series 2019-11-12 19:13:17 +01:00
hda Revert "ALSA: hda: Flush interrupts on disabling" 2019-11-06 12:09:26 +01:00
i2c ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls() 2019-10-05 12:27:46 +02:00
isa ALSA: sb8: add a check for request_region 2019-04-27 09:33:56 +02:00
mips ALSA: mips: let SND_SGI_O2 select SND_PCM 2015-06-15 13:21:58 +02:00
oss sound: oss/sb_audio: use swap() in sb_audio_close() 2015-06-12 20:46:29 +02:00
parisc
pci ALSA: hda/ca0132 - Fix possible workqueue stall 2019-11-12 19:13:18 +01:00
pcmcia ALSA: vxpocket: Fix invalid endian conversions 2018-08-22 07:48:36 +02:00
ppc ALSA: ppc/awacs: shut up maybe-uninitialized warning 2017-05-08 07:46:01 +02:00
sh
soc ASoc: rockchip: i2s: Fix RPM imbalance 2019-11-10 11:21:06 +01:00
sparc ALSA: sparc: Fix invalid snd_free_pages() at error path 2018-12-13 09:21:27 +01:00
spi
synth ALSA: emux: Fix potential Spectre v1 vulnerabilities 2019-01-13 10:05:29 +01:00
usb ALSA: usb-audio: not submit urb for stopped endpoint 2019-11-25 15:53:42 +01:00
ac97_bus.c ASoC: Updates for v4.3 2015-08-31 16:25:22 +02:00
Kconfig
last.c
Makefile
sound_core.c sound: fix a memory leak bug 2019-08-25 10:52:43 +02:00
sound_firmware.c sound: sound_firmware: Fix invalid use of vfs_read() 2015-05-26 13:48:58 +02:00