linux/sound/pci
Takashi Iwai 192c4cccd0 ALSA: control: Take controls_rwsem lock in snd_ctl_remove()
So far, snd_ctl_remove() requires its caller to take
card->controls_rwsem manually before the call for avoiding possible
races.  However, many callers don't care and miss the locking.

Basically it's cumbersome and error-prone to enforce it to each
caller.  Moreover, card->controls_rwsem is a field that should be used
only by internal or proper helpers, and it's not to be touched at
random external places.

This patch is an attempt to make those calls more consistent: now
snd_ctl_remove() takes the card->controls_rwsem internally, just like
other API functions for kctls.  Since a few callers already take the
controls_rwsem locks, the patch removes those locks at the same time,
too.

Link: https://lore.kernel.org/r/20230718141304.1032-5-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-07-20 10:01:27 +02:00
..
ac97 ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer 2023-06-15 08:41:40 +02:00
ali5451 ALSA: ali5451: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:19 +02:00
asihpi ALSA: asihpi: remove unused loop_count variable 2023-03-29 14:40:43 +02:00
au88x0 ALSA: au88x0: use explicitly signed char 2022-10-25 15:14:29 +02:00
aw2 ALSA: aw2: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:38 +02:00
ca0106 ALSA: ca0106: Use snd_ctl_rename() to rename a control 2022-10-21 08:17:11 +02:00
cs46xx ALSA: cs46xx: mark snd_cs46xx_download_image as static 2023-05-17 16:56:00 +02:00
cs5535audio ALSA: cs5535audio: Remove the redundant assignment 2022-11-07 09:16:31 +01:00
ctxfi ALSA: ctxfi: fix typo in comment 2022-05-23 09:48:29 +02:00
echoaudio Merge branch 'for-linus' into for-next 2022-04-13 10:49:49 +02:00
emu10k1 ALSA: control: Take controls_rwsem lock in snd_ctl_remove() 2023-07-20 10:01:27 +02:00
hda ALSA: control: Take controls_rwsem lock in snd_ctl_remove() 2023-07-20 10:01:27 +02:00
ice1712 ALSA: ice1712,ice1724: fix the kcontrol->id initialization 2023-06-06 09:43:55 +02:00
korg1212 ALSA: korg1212: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:30 +02:00
lola ALSA: lola: Bounds check loop iterator against streams array size 2022-05-21 08:48:57 +02:00
lx6464es ALSA: pci: lx6464es: fix a debug loop 2023-02-01 13:14:26 +01:00
mixart ALSA: mixart: Replace one-element arrays with simple object declarations 2023-05-20 10:17:53 +02:00
nm256 ALSA: nm256: Don't call card private_free at probe error path 2022-04-12 17:58:44 +02:00
oxygen ALSA: oxygen: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:40 +02:00
pcxhr ALSA: pcxhr: "fix" PCXHR_REG_TO_PORT definition 2021-09-16 11:09:04 +02:00
riptide ALSA: riptide: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:31 +02:00
rme9652 ALSA: hdspm: remove unused copy_u32_le function 2023-03-24 07:50:07 +01:00
trident ALSA: trident: Allocate resources with device-managed APIs 2021-07-19 16:17:08 +02:00
vx222 ALSA: vx222: fix null-ptr-deref 2021-09-07 07:13:19 +02:00
ymfpci ALSA: ymfpci: Fix kctl->id initialization 2023-06-06 14:30:27 +02:00
ad1889.c ALSA: ad1889: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:18 +02:00
ad1889.h
ak4531_codec.c ALSA: ak4531: Fix assignment in if condition 2021-06-09 17:29:49 +02:00
als300.c ALSA: als300: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:38 +02:00
als4000.c ALSA: als4000: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:19 +02:00
atiixp_modem.c ALSA: atiixp: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:20 +02:00
atiixp.c ALSA: atiixp: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:20 +02:00
azt3328.c ALSA: azt3328: Remove the unused function snd_azf3328_codec_outl() 2022-12-22 09:12:26 +01:00
azt3328.h
bt87x.c ALSA: bt87x: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:36 +02:00
cmipci.c ALSA: cmipci: Fix kctl->id initialization 2023-06-06 14:30:48 +02:00
cs4281.c ALSA: cs4281: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:23 +02:00
cs5530.c ALSA: cs5530: Allocate resources with device-managed APIs 2021-07-19 16:16:43 +02:00
ens1370.c ASoC: doc: Update dead links 2022-06-30 10:56:27 +01:00
ens1371.c
es1938.c ALSA: es1938: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:26 +02:00
es1968.c ALSA: es1968: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:27 +02:00
fm801.c ALSA: fm801: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:27 +02:00
intel8x0.c ALSA: intel8x0: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:29 +02:00
intel8x0m.c ALSA: intel8x0: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:29 +02:00
Kconfig ALSA: add HAS_IOPORT dependencies 2023-05-22 16:43:47 +02:00
maestro3.c ALSA: maestro3: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:30 +02:00
Makefile
rme32.c ALSA: rme32: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:32 +02:00
rme96.c ALSA: rme96: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:32 +02:00
sis7019.c ALSA: sis7019: Fix the missing error handling 2022-04-12 17:58:35 +02:00
sis7019.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 274 2019-06-05 17:30:30 +02:00
sonicvibes.c ALSA: sonicvibes: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:33 +02:00
via82xx_modem.c ALSA: via82xx: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:34 +02:00
via82xx.c ALSA: via82xx: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:34 +02:00