From 54841a06c54eb55918948c12ab9b5f02cacb6ab3 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 15 Oct 2014 14:00:16 +0200 Subject: [PATCH] ALSA: seq: Use atomic ops for autoload refcount ... just to robustify for races. Signed-off-by: Takashi Iwai --- 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.34.1