linux/sound/usb
Takashi Iwai 8bf6fe49ed ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
commit 5a15f289ee upstream.

The commit 89b89d121f ("ALSA: usb-audio: Add check return value for
usb_string()") added the check of the return value from
snd_usb_copy_string_desc(), which is correct per se, but it introduced
a regression.  In the original code, either the "Clock Source",
"Playback Source" or "Capture Source" suffix is added after the
terminal string, while the commit changed it to add the suffix only
when get_term_name() is failing.  It ended up with an incorrect ctl
name like "PCM" instead of "PCM Capture Source".

Also, even the original code has a similar bug: when the ctl name is
generated from snd_usb_copy_string_desc() for the given iSelector, it
also doesn't put the suffix.

This patch addresses these issues: the suffix is added always when no
static mapping is found.  Also the patch tries to put more comments
and cleans up the if/else block for better readability in order to
avoid the same pitfall again.

Fixes: 89b89d121f ("ALSA: usb-audio: Add check return value for usb_string()")
Reported-and-tested-by: Mauro Santos <registo.mailling@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-03-03 15:52:01 +00:00
..
6fire ALSA: 6fire: Use standard printk helpers 2014-02-26 17:22:09 +01:00
bcd2000 ALSA: MIDI driver for Behringer BCD2000 USB device 2014-04-07 16:05:41 +02:00
caiaq ALSA: caiaq: Fix stray URB at probe error path 2018-01-01 20:51:51 +00:00
hiface ALSA: hiface: Fix M2Tech hiFace driver sampling rate change 2017-03-16 02:26:34 +00:00
misc ALSA: usb: Convert to snd_card_new() with a device pointer 2014-02-12 11:18:00 +01:00
usx2y ALSA: usx2y: Suppress kernel warning at page allocation failures 2018-01-01 20:51:46 +00:00
card.c ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor 2017-11-11 13:33:39 +00:00
card.h ALSA: usb-audio: work around corrupted TEAC UD-H01 feedback data 2014-05-02 18:21:55 +02:00
clock.c ALSA: usb-audio: Add sanity checks in v2 clock parsers 2018-02-13 18:42:28 +00:00
clock.h ALSA: usb-audio: UAC2: do clock validity check earlier 2013-04-04 08:30:59 +02:00
debug.h ALSA: usb-audio: make hwc_debug a noop in case HW_CONST_DEBUG is not set 2011-05-18 11:44:35 +02:00
endpoint.c ALSA: usb-audio: Add sanity checks for endpoint accesses 2016-03-29 16:10:31 +01:00
endpoint.h ALSA: usb-audio: Fix races at disconnection and PCM closing 2014-06-26 10:33:35 +02:00
format.c ALSA: usb-audio: Use standard printk helpers 2014-02-26 16:45:34 +01:00
format.h ALSA: usb-audio: store protocol version in struct audioformat 2013-06-27 21:59:47 +02:00
helper.c ALSA: usb-audio: support wireless devices in snd_usb_parse_datainterval 2013-10-07 12:52:21 +02:00
helper.h ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
Kconfig ALSA: MIDI driver for Behringer BCD2000 USB device 2014-04-07 16:05:41 +02:00
Makefile ALSA: MIDI driver for Behringer BCD2000 USB device 2014-04-07 16:05:41 +02:00
midi.c ALSA: usb-audio: avoid freeing umidi object twice 2016-02-16 10:55:28 +00:00
midi.h ALSA: usb-audio: add support for Akai MPD16 2010-05-21 17:12:30 +02:00
mixer.c ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU 2018-03-03 15:52:01 +00:00
mixer.h ALSA: usb-audio: Kill stray URB at exiting 2017-11-11 13:33:39 +00:00
mixer_maps.c ALSA: usb-audio: Skip volume controls triggers hangup on Dell USB Dock 2016-06-15 21:29:22 +01:00
mixer_quirks.c ALSA: usb-audio: Add mute TLV for playback volumes on C-Media devices 2017-11-11 13:33:21 +00:00
mixer_quirks.h ALSA: usb-audio: Add a more accurate volume quirk for AudioQuest DragonFly 2016-01-25 10:43:38 +00:00
pcm.c ALSA: usb-audio: Add sanity checks for endpoint accesses 2016-03-29 16:10:31 +01:00
pcm.h ALSA: usb: refine delay information with USB frame counter 2011-09-12 10:30:20 +02:00
power.h ALSA: usbaudio: implement USB autosuspend 2011-03-11 14:59:29 +01:00
proc.c ALSA: usb-audio: proc: use found syncmaxsize to determine feedback format 2013-05-17 08:05:34 +02:00
proc.h ALSA: usb-audio: refactor code 2010-03-05 08:17:14 +01:00
quirks-table.h ALSA: usb-audio: Add quirk for Syntek STK1160 2017-02-23 03:54:22 +00:00
quirks.c ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call 2016-05-01 00:06:06 +02:00
quirks.h ALSA: snd-usb: add quirks handler for DSD streams 2013-04-18 10:03:53 +02:00
stream.c ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call 2016-05-01 00:06:06 +02:00
stream.h ALSA: snd-usb: re-order code 2011-09-14 17:07:02 +02:00
usbaudio.h ALSA: usb-audio: prevent CH345 multiport output SysEx corruption 2015-12-18 16:06:26 +00:00