linux/sound/usb
Takashi Iwai d6cda4655e ALSA: usb-audio: Handle invalid running state at releasing EP
When we stop an endpoint in release_urbs(), it ignores the
inconsistent endpoint state and tries to release the resources.
This shouldn't happen in theory, but it's still safer to abort the
release and let the caller proper error handling.

Also, stop_and_unlink_urbs() called from release_urbs() does two step
works, and it's more straightforward to split this to two functions
again, so that the call from the PCM trigger won't take the path with
sleeping.

This patch modifies the EP management code to adapt two points above.

Fixes: d0f09d1e4a ("ALSA: usb-audio: Refactoring endpoint URB deactivation")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210206203052.15606-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-02-08 15:59:54 +01:00
..
6fire sound: 6fire: move to use usb_control_msg_send() and usb_control_msg_recv() 2020-09-25 16:33:59 +02:00
bcd2000 ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
caiaq ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
hiface ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
line6 sound: line6: move to use usb_control_msg_send() and usb_control_msg_recv() 2020-09-25 16:33:59 +02:00
misc ALSA: ua101: Replace tasklet with work 2020-09-09 18:33:15 +02:00
usx2y sound: usx2y: move to use usb_control_msg_send() 2020-09-25 16:33:59 +02:00
card.c Merge branch 'for-linus' into for-next 2021-01-18 17:39:23 +01:00
card.h ALSA: usb-audio: Annotate the endpoint index in audioformat 2021-01-08 23:43:38 +01:00
clock.c ALSA: usb-audio: Skip the clock selector inquiry for single connections 2021-01-21 12:47:06 +01:00
clock.h ALSA: usb-audio: Constify audioformat pointer references 2020-11-23 15:15:36 +01:00
endpoint.c ALSA: usb-audio: Handle invalid running state at releasing EP 2021-02-08 15:59:54 +01:00
endpoint.h ALSA: usb-audio: Avoid unnecessary interface re-setup 2021-01-08 23:43:37 +01:00
format.c ALSA: usb-audio: workaround for iface reset issue 2021-01-23 16:59:42 +01:00
format.h ALSA: usb: initial USB Audio Device Class 3.0 support 2018-03-21 11:46:33 +01:00
helper.c ALSA: usb-audio: Add snd_usb_get_host_interface() helper 2020-11-23 15:13:47 +01:00
helper.h ALSA: usb-audio: Add snd_usb_get_host_interface() helper 2020-11-23 15:13:47 +01:00
implicit.c ALSA: usb-audio: Add support for Pioneer DJM-750 2021-01-18 17:39:42 +01:00
implicit.h ALSA: usb-audio: Factor out the implicit feedback quirk code 2020-11-23 15:17:00 +01:00
Kconfig sound: Fix Kconfig indentation 2019-10-07 03:53:03 +02:00
Makefile ALSA: usb-audio: Factor out the implicit feedback quirk code 2020-11-23 15:17:00 +01:00
media.c media: sound/usb: Use Media Controller API to share media resources 2019-04-22 11:21:06 -04:00
media.h media: sound/usb: Use Media Controller API to share media resources 2019-04-22 11:21:06 -04:00
midi.c ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks 2020-12-23 18:46:54 +01:00
midi.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mixer_maps.c ALSA: usb-audio: Use ALC1220-VB-DT mapping for ASUS ROG Strix TRX40 mobo 2020-11-16 09:45:26 +01:00
mixer_quirks.c ALSA: usb-audio: add mixer quirks for Pioneer DJM-900NXS2 2021-02-05 23:18:40 +01:00
mixer_quirks.h ALSA: usb-audio: Initialize Dell Dock playback volumes 2018-05-02 16:02:32 +02:00
mixer_s1810c.c ALSA: usb-audio: Fix some typos 2020-06-30 19:48:18 +02:00
mixer_s1810c.h ALSA: usb-audio: Add support for Presonus Studio 1810c 2020-02-15 09:46:16 +01:00
mixer_scarlett_gen2.c ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
mixer_scarlett_gen2.h ALSA: usb-audio: Scarlett Gen 2 mixer interface 2019-07-28 17:47:48 +02:00
mixer_scarlett.c ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
mixer_scarlett.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mixer_us16x08.c ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
mixer_us16x08.h ALSA: usb: Constify snd_kcontrol_new items 2020-01-03 09:24:34 +01:00
mixer.c ALSA: usb-audio: Fix "RANGE setting not yet supported" errors 2021-01-21 12:47:19 +01:00
mixer.h ALSA: usb-audio: Fix OOB access of mixer element list 2020-06-24 14:24:29 +02:00
pcm.c ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode 2021-02-05 17:02:11 +01:00
pcm.h ALSA: usb-audio: Constify audioformat pointer references 2020-11-23 15:15:36 +01:00
power.c ALSA: usb-audio: More validations of descriptor units 2019-08-22 10:35:59 +02:00
power.h ALSA: usb-audio: Initial Power Domain support 2018-07-31 15:01:22 +02:00
proc.c ALSA: usb-audio: Show sync endpoint information in proc outputs 2020-11-23 15:16:45 +01:00
proc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
quirks-table.h ALSA: usb-audio: Add DJM-450 to the quirks table 2021-02-02 18:47:08 +01:00
quirks.c ALSA: usb-audio: Add DJM450 to Pioneer format quirk 2021-02-02 18:46:08 +01:00
quirks.h ALSA: usb-audio: Constify audioformat pointer references 2020-11-23 15:15:36 +01:00
stream.c Merge branch 'for-linus' into for-next 2020-12-14 09:05:29 +01:00
stream.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usbaudio.h ALSA: usb-audio: Avoid unnecessary interface re-setup 2021-01-08 23:43:37 +01:00
validate.c ALSA: usb-audio: Fix endianess in descriptor validation 2020-02-01 09:06:11 +01:00