linux/sound
Daniel Mack cb8a0948b8 ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()
commit 83ea5d18d7 upstream.

Creation of individual mixer controls may fail, but that shouldn't cause
the entire mixer creation to fail. Even worse, if the mixer creation
fails, that will error out the entire device probing.

All the functions called by parse_audio_unit() should return -EINVAL if
they find descriptors that are unsupported or believed to be malformed,
so we can safely handle this error code as a non-fatal condition in
snd_usb_mixer_controls().

That fixes a long standing bug which is commonly worked around by
adding quirks which make the driver ignore entire interfaces. Some of
them might now be unnecessary.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-and-tested-by: Rodolfo Thomazelli <pe.soberbo@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-28 12:12:05 -07:00
..
aoa ALSA: aoa: Convert onyx and tas codec drivers to module_i2c_driver 2012-01-27 15:18:28 +01:00
arm ALSA: pxa27x: fix ac97 warm reset 2013-01-17 08:50:55 -08:00
atmel dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes 2012-02-22 18:15:39 +05:30
core ALSA: seq: Fix missing error handling in snd_seq_timer_open() 2013-03-20 13:04:59 -07:00
drivers ALSA: aloop - add locking to timer access 2012-10-13 05:38:51 +09:00
firewire IEEE 1394 (FireWire) subsystem updates post v3.3: 2012-03-22 20:31:15 -07:00
i2c [media] tea575x: fix HW seek 2012-03-19 11:28:52 -03:00
isa ALSA: sound/isa/sscape.c: add missing resource-release code 2012-04-10 08:42:07 +02:00
mips ALSA: Convert mips directory to module_platform_driver 2011-11-24 13:03:02 +01:00
oss sound: sound/oss/msnd_pinnacle.c: add vfrees 2012-04-10 08:41:54 +02:00
parisc
pci ALSA: hda - Fix typo in checking IEC958 emphasis bit 2013-03-28 12:12:04 -07:00
pcmcia ALSA: module_param: make bool parameters really bool 2011-12-19 10:34:41 +01:00
ppc Merge branch 'topic/misc' into for-linus 2012-01-12 09:59:14 +01:00
sh ALSA: module_param: make bool parameters really bool 2011-12-19 10:34:41 +01:00
soc ASoC: wm2200: correct IN2L and IN3L digital mute 2013-02-28 06:59:04 -08:00
sparc ALSA: module_param: make bool parameters really bool 2011-12-19 10:34:41 +01:00
spi ALSA: Convert at73c213 to module_spi_driver 2012-01-27 15:18:36 +01:00
synth sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where needed 2011-10-31 19:31:22 -04:00
usb ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() 2013-03-28 12:12:05 -07:00
ac97_bus.c
Kconfig um: switch to use of drivers/Kconfig 2011-11-02 14:15:41 +01:00
last.c ALSA: workaround: change the timing of alsa_sound_last_init() 2012-04-19 13:51:54 +02:00
Makefile
sound_core.c switch device_get_devnode() and ->devnode() to umode_t * 2012-01-03 22:54:55 -05:00
sound_firmware.c