kernel-hacking-2024-linux-s.../sound/core
Clemens Ladisch b1ddaf681e sound: pcm_lib: fix unsorted list constraint handling
snd_interval_list() expected a sorted list but did not document this, so
there are drivers that give it an unsorted list.  To fix this, change
the algorithm to work with any list.

This fixes the "Slave PCM not usable" error with USB devices that have
multiple alternate settings with sample rates in decreasing order, such
as the Philips Askey VC010 WebCam.

http://bugzilla.kernel.org/show_bug.cgi?id=14028

Reported-and-tested-by: Andrzej <adkadk@gmail.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-08-25 08:52:34 +02:00
..
oss ALSA: Clean up 64bit division functions 2009-06-05 17:45:17 +02:00
seq ALSA: OSS sequencer should be initialized after snd_seq_system_client_init 2009-07-19 19:10:01 +02:00
control.c ALSA: sound/core: use memdup_user() 2009-04-14 12:39:12 +02:00
control_compat.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
device.c ALSA: Print function symbol in the error messages 2008-10-16 16:17:30 +02:00
hrtimer.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:16:21 -08:00
hwdep.c ALSA: hwdep - Make open callback optional 2009-02-05 09:10:20 +01:00
hwdep_compat.c
info.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
info_oss.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
init.c ALSA: Core - clean up snd_card_set_id* calls and remove possible id collision 2009-06-04 01:22:07 +02:00
isadma.c
jack.c ALSA: use card device as parent for jack input-devices 2009-06-10 19:50:33 +02:00
Kconfig ALSA: clean up the logic for building sequencer modules 2009-05-29 11:49:42 +02:00
Makefile ALSA: Add hrtimer backend for ALSA timer interface 2008-10-24 18:16:50 +02:00
memalloc.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
memory.c
misc.c ALSA: Add subdevice_mask field to quirk entries 2009-02-09 17:19:11 +01:00
pcm.c Merge branch 'topic/misc' into for-linus 2009-03-24 00:35:50 +01:00
pcm_compat.c ALSA: sound/core: use memdup_user() 2009-04-14 12:39:12 +02:00
pcm_lib.c sound: pcm_lib: fix unsorted list constraint handling 2009-08-25 08:52:34 +02:00
pcm_memory.c ALSA: Allocate larger pages in sgbuf 2008-08-25 09:57:38 +02:00
pcm_misc.c sound: add missing pcm kernel-doc 2008-10-18 11:05:36 +02:00
pcm_native.c sound: fix check for return value in snd_pcm_hw_refine 2009-06-22 07:54:21 +02:00
pcm_timer.c ALSA: Remove unneeded snd_pcm_substream.timer_lock 2009-03-09 14:02:00 +01:00
rawmidi.c ALSA: rawmidi - Refactor rawmidi open/close codes 2009-03-09 15:17:23 +01:00
rawmidi_compat.c
rtctimer.c ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule() 2008-12-18 12:17:55 +01:00
sgbuf.c ALSA: Fix vunmap and free order in snd_free_sgbuf_pages() 2009-03-18 08:04:01 +01:00
sound.c Check fops_get() return value 2009-01-06 15:59:11 -08:00
sound_oss.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
timer.c ALSA: sound/core: use memdup_user() 2009-04-14 12:39:12 +02:00
timer_compat.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
vmaster.c ALSA: Add kernel-doc comments to vmaster stuff 2009-03-09 15:10:01 +01:00