linux-stable/sound/usb
Takashi Iwai 9d4f4dc3cd ALSA: usb-audio: Fix last interface check for registration
commit 39efc9c8a9 upstream.

The recent fix in commit 6392dcd1d0 ("ALSA: usb-audio: Register card
at the last interface") tried to delay the card registration until the
last found interface is probed.  It assumed that the probe callback
gets called for those later interfaces, but it's not always true; as
the driver loops over the descriptor and probes the matching ones,
it's not separately called via multiple probe calls.  This results in
the missing card registration, i.e. no sound device.

For addressing this problem, replace the check whether the last
interface is processed with usb_interface_claimed() instead of the
comparison with the probe interface number.

Fixes: 6392dcd1d0 ("ALSA: usb-audio: Register card at the last interface")
Link: https://lore.kernel.org/r/20220915085947.7922-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-24 09:58:30 +02:00
..
6fire ALSA: 6fire: fix control and bulk message timeouts 2021-10-26 08:12:02 +02:00
bcd2000 ALSA: bcd2000: Fix a UAF bug on the error path of probing 2022-08-17 15:13:40 +02:00
caiaq module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
hiface module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
line6 sound: usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
misc ALSA: ua101: fix division by zero at probe 2021-10-27 08:23:30 +02:00
usx2y sound: usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02: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
card.c ALSA: usb-audio: Fix last interface check for registration 2022-10-24 09:58:30 +02:00
card.h ALSA: usb-audio: Refcount multiple accesses on the single clock 2022-05-16 12:49:03 +02:00
clock.c ALSA: usb-audio: Optimize TEAC clock quirk 2022-05-31 15:09:05 +02:00
clock.h ALSA: usb-audio: Constify audioformat pointer references 2020-11-23 15:15:36 +01:00
endpoint.c ALSA: usb-audio: Properly refcounting clock rate 2022-10-24 09:57:21 +02:00
endpoint.h Revert "ALSA: usb-audio: Split endpoint setups for hw_params and prepare" 2022-09-28 11:32:02 +02:00
format.c ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID 2021-12-02 09:39:04 +01:00
format.h
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: Move generic implicit fb quirk entries into quirks.c 2022-04-21 10:17:18 +02:00
implicit.h ALSA: usb-audio: Factor out the implicit feedback quirk code 2020-11-23 15:17:00 +01:00
media.c ALSA: usb-audio: fix spelling mistakes 2021-07-05 19:33:54 +02:00
media.h
midi.c USB / Thunderbolt changes for 5.19-rc1 2022-06-03 11:17:49 -07:00
midi.h ALSA: usb-audio: generate midi streaming substream names from jack names 2021-03-01 09:21:54 +01:00
mixer.c ALSA: usb-audio: Don't abort resume upon errors 2022-02-14 13:57:51 +01:00
mixer.h ALSA: usb-audio: Drop CONFIG_PM ifdefs 2021-12-06 10:19:40 +01:00
mixer_maps.c ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II 2022-08-25 11:45:10 +02:00
mixer_quirks.c ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB 2022-03-12 08:50:43 +01:00
mixer_quirks.h ALSA: usb-audio: Drop CONFIG_PM ifdefs 2021-12-06 10:19:40 +01:00
mixer_s1810c.c ALSA: usb-audio: remove redundant assignment to variable c 2022-02-08 08:21:32 +01:00
mixer_s1810c.h ALSA: usb-audio: Add support for Presonus Studio 1810c 2020-02-15 09:46:16 +01:00
mixer_scarlett.c ALSA: usb-audio: fix spelling mistakes 2021-07-05 19:33:54 +02:00
mixer_scarlett.h
mixer_scarlett_gen2.c ALSA: scarlett2: Add support for the internal "standalone" switch 2022-03-08 10:05:48 +01:00
mixer_scarlett_gen2.h ALSA: usb-audio: scarlett2: Improve driver startup messages 2021-05-21 16:22:52 +02:00
mixer_us16x08.c ALSA: usb-audio: US16x08: Move overflow check before array access 2022-06-13 07:40:08 +02:00
mixer_us16x08.h ALSA: usb: Constify snd_kcontrol_new items 2020-01-03 09:24:34 +01:00
pcm.c Revert "ALSA: usb-audio: Split endpoint setups for hw_params and prepare" 2022-09-28 11:32:02 +02:00
pcm.h ALSA: usb-audio: Make snd_usb_pcm_delay() static 2021-06-02 09:01:17 +02:00
power.c ALSA: usb-audio: More validations of descriptor units 2019-08-22 10:35:59 +02:00
power.h ALSA: usb-audio: Drop CONFIG_PM ifdefs 2021-12-06 10:19:40 +01:00
proc.c ALSA: usb-audio: Show sync endpoint information in proc outputs 2020-11-23 15:16:45 +01:00
proc.h
quirks-table.h ALSA: usb-audio: Add quirk for Fiero SC-01 (fw v1.0.0) 2022-07-04 14:12:11 +02:00
quirks.c ALSA: usb-audio: Register card at the last interface 2022-10-24 09:58:17 +02:00
quirks.h ALSA: usb-audio: Register card at the last interface 2022-10-24 09:58:17 +02:00
stream.c ALSA: usb-audio: Inform the delayed registration more properly 2022-09-15 10:47:14 +02:00
stream.h
usbaudio.h ALSA: usb-audio: Register card at the last interface 2022-10-24 09:58:17 +02:00
validate.c ALSA: usb-audio: Fix endianess in descriptor validation 2020-02-01 09:06:11 +01:00