On Tue, 18 Jul 2023 16:12:53 +0200, Takashi Iwai wrote: > > A few ALSA control API helpers like snd_ctl_rename(), snd_ctl_remove() > and snd_ctl_find_*() suppose the callers taking card->controls_rwsem. > But it's error-prone and fragile. This patch set tries to change > those API functions to take the card->controls>rwsem internally by > themselves, so that the drivers don't need to take care of lockings. > > After applying this patch set, only a couple of places still touch > card->controls_rwsem (which are OK-ish as they need for traversing the > control linked list). > > > Takashi > > === > > Takashi Iwai (11): > ALSA: control: Take card->controls_rwsem in snd_ctl_rename() > staging: greybus: audio_helper: Use snd_ctl_remove_id() > ASoC: atmel: mchp-pdmc: Use snd_ctl_remove_id() > ALSA: control: Take controls_rwsem lock in snd_ctl_remove() > ALSA: control: Add lockdep warning to internal functions > ASoC: sigmadsp: Simplify with snd_ctl_activate_id() > staging: greybus: Avoid abusing controls_rwsem > ALSA: control: Make snd_ctl_find_id() argument const > ALSA: control: Introduce unlocked version for snd_ctl_find_*() helpers > ALSA: control: Take lock in snd_ctl_find_id() and snd_ctl_find_numid() > ALSA: emu10k1: Go back and simplify with snd_ctl_find_id() Now all merged. The branch is based on 6.5-rc2, and tagged as ctl-lock-fixes-6.6 so that other branch can merge this if needed. Takashi