linux/sound/core
Takashi Iwai 23b53d4417 ALSA: pcm: One more dependency for hw constraints
The fix for a long-standing USB-audio bug required one more dependency
variable to be added to the hw constraints.  Unfortunately I didn't
realize at debugging that the new addition may result in the overflow
of the dependency array of each snd_pcm_hw_rule (up to three plus a
sentinel), because USB-audio driver adds one more dependency only for
a certain device and bus, hence it works as is for many devices.  But
in a bad case, a simple open always results in -EINVAL (with kernel
WARNING if CONFIG_SND_DEBUG is set) no matter what is passed.

Since the dependencies are real and unavoidable (USB-audio restricts
the hw_params per looping over the format/rate/channels combos), the
only good solution seems to raise the bar for one more dependency for
snd_pcm_hw_rule -- so does this patch: now the hw constraint
dependencies can be up to four.

Fixes: 506c203cc3 ("ALSA: usb-audio: Fix hw constraints dependencies")
Reported-by: Jamie Heilman <jamie@audible.transient.net>
Link: https://lore.kernel.org/r/20210123155730.22576-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-01-23 16:59:24 +01:00
..
oss ALSA: pcm: oss: Fix a few more UBSAN fixes 2020-12-18 17:31:02 +01:00
seq ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() 2021-01-15 10:35:17 +01:00
compress_offload.c ALSA: compress: allow pause and resume during draining 2020-11-27 19:45:05 +01:00
control_compat.c ALSA: compat_ioctl: avoid compat_alloc_user_space 2020-09-21 10:37:07 +02:00
control.c ALSA: ctl: fix error path at adding user-defined element set 2020-11-13 11:33:55 +01:00
ctljack.c
device.c
hrtimer.c ALSA: timer: Replace tasklet with work 2020-09-09 18:32:52 +02:00
hwdep_compat.c ALSA: compat_ioctl: avoid compat_alloc_user_space 2020-09-21 10:37:07 +02:00
hwdep.c ALSA: compat_ioctl: avoid compat_alloc_user_space 2020-09-21 10:37:07 +02:00
info_oss.c
info.c ALSA: info: Drop WARN_ON() from buffer NULL sanity check 2020-07-17 10:59:38 +02:00
init.c ALSA: core: Remove redundant comments 2020-12-21 08:55:15 +01:00
isadma.c
jack.c
Kconfig
Makefile
memalloc.c ALSA: memalloc: Align buffer allocations in page size 2020-12-18 17:09:10 +01:00
memory.c
misc.c
pcm_compat.c
pcm_dmaengine.c ALSA: fix kernel-doc markups 2020-10-26 15:26:31 +01:00
pcm_drm_eld.c
pcm_iec958.c ALSA: core: pcm_iec958: fix kernel-doc 2020-07-07 10:22:33 +02:00
pcm_lib.c ALSA: pcm: use krealloc_array() 2020-12-15 12:13:37 -08:00
pcm_local.h
pcm_memory.c ALSA: pcm: Remove snd_pcm_lib_preallocate_dma_free() 2020-12-18 17:07:04 +01:00
pcm_misc.c ASoC: Updates for v5.7 2020-03-30 13:43:00 +02:00
pcm_native.c ALSA: pcm: One more dependency for hw constraints 2021-01-23 16:59:24 +01:00
pcm_param_trace.h
pcm_timer.c
pcm_trace.h
pcm.c ALSA: core: pcm: simplify locking for timers 2020-09-03 09:24:33 +02:00
rawmidi_compat.c
rawmidi.c ALSA: rawmidi: Access runtime->avail always in spinlock 2020-12-06 09:36:10 +01:00
seq_device.c
sgbuf.c ALSA: memalloc: Make SG-buffer helper usable for continuous buffer, too 2020-06-15 18:01:52 +02:00
sound_oss.c
sound.c
timer_compat.c
timer.c ALSA: timer: Replace tasklet with work 2020-09-09 18:32:52 +02:00
vmaster.c ALSA: Replace the word "slave" in vmaster API 2020-07-20 10:10:47 +02:00