aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/cdrom/cdrom.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 614ecdbb4ab7..933268b8d6a5 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -265,6 +265,7 @@
265/* #define ERRLOGMASK (CD_WARNING|CD_OPEN|CD_COUNT_TRACKS|CD_CLOSE) */ 265/* #define ERRLOGMASK (CD_WARNING|CD_OPEN|CD_COUNT_TRACKS|CD_CLOSE) */
266/* #define ERRLOGMASK (CD_WARNING|CD_REG_UNREG|CD_DO_IOCTL|CD_OPEN|CD_CLOSE|CD_COUNT_TRACKS) */ 266/* #define ERRLOGMASK (CD_WARNING|CD_REG_UNREG|CD_DO_IOCTL|CD_OPEN|CD_CLOSE|CD_COUNT_TRACKS) */
267 267
268#include <linux/atomic.h>
268#include <linux/module.h> 269#include <linux/module.h>
269#include <linux/fs.h> 270#include <linux/fs.h>
270#include <linux/major.h> 271#include <linux/major.h>
@@ -3692,9 +3693,9 @@ static struct ctl_table_header *cdrom_sysctl_header;
3692 3693
3693static void cdrom_sysctl_register(void) 3694static void cdrom_sysctl_register(void)
3694{ 3695{
3695 static int initialized; 3696 static atomic_t initialized = ATOMIC_INIT(0);
3696 3697
3697 if (initialized == 1) 3698 if (!atomic_add_unless(&initialized, 1, 1))
3698 return; 3699 return;
3699 3700
3700 cdrom_sysctl_header = register_sysctl_table(cdrom_root_table); 3701 cdrom_sysctl_header = register_sysctl_table(cdrom_root_table);
@@ -3705,8 +3706,6 @@ static void cdrom_sysctl_register(void)
3705 cdrom_sysctl_settings.debug = debug; 3706 cdrom_sysctl_settings.debug = debug;
3706 cdrom_sysctl_settings.lock = lockdoor; 3707 cdrom_sysctl_settings.lock = lockdoor;
3707 cdrom_sysctl_settings.check = check_media_type; 3708 cdrom_sysctl_settings.check = check_media_type;
3708
3709 initialized = 1;
3710} 3709}
3711 3710
3712static void cdrom_sysctl_unregister(void) 3711static void cdrom_sysctl_unregister(void)