aboutsummaryrefslogtreecommitdiff
path: root/drivers/base/module.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-07-20 16:09:16 +0800
committerAlex Shi <alex.shi@linaro.org>2016-07-20 16:09:16 +0800
commit204f956933371e80867606b2dc07aab06e82be12 (patch)
treecc9ccfbeae074bfcefa9570b86ffd51c7287a45e /drivers/base/module.c
parentc863d9e9256315f6d91f866b95996e2c03052e12 (diff)
parent1d508e233d21a7848cf54d7d03b40dac2d9ea873 (diff)
Merge branch 'linux-linaro-lsk-v4.1' into linux-linaro-lsk-v4.1-androidlsk-v4.1-16.07-android
Diffstat (limited to 'drivers/base/module.c')
-rw-r--r--drivers/base/module.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/base/module.c b/drivers/base/module.c
index db930d3ee312..2a215780eda2 100644
--- a/drivers/base/module.c
+++ b/drivers/base/module.c
@@ -24,10 +24,12 @@ static char *make_driver_name(struct device_driver *drv)
static void module_create_drivers_dir(struct module_kobject *mk)
{
- if (!mk || mk->drivers_dir)
- return;
+ static DEFINE_MUTEX(drivers_dir_mutex);
- mk->drivers_dir = kobject_create_and_add("drivers", &mk->kobj);
+ mutex_lock(&drivers_dir_mutex);
+ if (mk && !mk->drivers_dir)
+ mk->drivers_dir = kobject_create_and_add("drivers", &mk->kobj);
+ mutex_unlock(&drivers_dir_mutex);
}
void module_add_driver(struct module *mod, struct device_driver *drv)