b1e055f676
For reducing the unnecessary use of controls_rwsem in the drivers, this patch adds a new variant for snd_ctl_find_*() helpers: snd_ctl_find_id_locked() and snd_ctl_find_numid_locked() look for a kctl element inside the card->controls_rwsem -- that is, doing the very same as what snd_ctl_find_id() and snd_ctl_find_numid() did until now. snd_ctl_find_id() and snd_ctl_find_numid() remain same, i.e. still unlocked version, but they will be switched to locked version once after all callers are replaced. The patch also replaces the calls of snd_ctl_find_id() and snd_ctl_find_numid() in a few places; all of those are places where we know that the functions are called properly with controls_rwsem held. All others are without rwsem (although they should have been). After this patch, we'll turn on the locking in snd_ctl_find_id() and snd_ctl_find_numid() to be more race-free. Link: https://lore.kernel.org/r/20230718141304.1032-10-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> |
||
---|---|---|
.. | ||
oss | ||
seq | ||
compress_offload.c | ||
control.c | ||
control_compat.c | ||
control_led.c | ||
ctljack.c | ||
device.c | ||
hrtimer.c | ||
hwdep.c | ||
hwdep_compat.c | ||
info.c | ||
info_oss.c | ||
init.c | ||
isadma.c | ||
jack.c | ||
Kconfig | ||
Makefile | ||
memalloc.c | ||
memalloc_local.h | ||
memory.c | ||
misc.c | ||
pcm.c | ||
pcm_compat.c | ||
pcm_dmaengine.c | ||
pcm_drm_eld.c | ||
pcm_iec958.c | ||
pcm_lib.c | ||
pcm_local.h | ||
pcm_memory.c | ||
pcm_misc.c | ||
pcm_native.c | ||
pcm_param_trace.h | ||
pcm_timer.c | ||
pcm_trace.h | ||
rawmidi.c | ||
rawmidi_compat.c | ||
seq_device.c | ||
sound.c | ||
sound_oss.c | ||
timer.c | ||
timer_compat.c | ||
ump.c | ||
ump_convert.c | ||
vmaster.c |