[alsa-devel] [PATCH v2 1/3] ALSA: seq: Use atomic ops for autoload refcount
Takashi Iwai
tiwai at suse.de
Fri Oct 17 10:50:05 CEST 2014
... just to robustify for races.
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
sound/core/seq/seq_device.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c
index 91a786a783e1..775ea9390110 100644
--- a/sound/core/seq/seq_device.c
+++ b/sound/core/seq/seq_device.c
@@ -127,15 +127,15 @@ static void snd_seq_device_info(struct snd_info_entry *entry,
#ifdef CONFIG_MODULES
/* avoid auto-loading during module_init() */
-static int snd_seq_in_init;
+static atomic_t snd_seq_in_init = ATOMIC_INIT(0);
void snd_seq_autoload_lock(void)
{
- snd_seq_in_init++;
+ atomic_inc(&snd_seq_in_init);
}
void snd_seq_autoload_unlock(void)
{
- snd_seq_in_init--;
+ atomic_dec(&snd_seq_in_init);
}
#endif
@@ -147,7 +147,7 @@ void snd_seq_device_load_drivers(void)
/* Calling request_module during module_init()
* may cause blocking.
*/
- if (snd_seq_in_init)
+ if (atomic_read(&snd_seq_in_init))
return;
mutex_lock(&ops_mutex);
--
2.1.2
More information about the Alsa-devel
mailing list