|
@@ -724,12 +724,12 @@ class_dir_create_and_add(struct class *class, struct kobject *parent_kobj)
|
|
|
return &dir->kobj;
|
|
|
}
|
|
|
|
|
|
+static DEFINE_MUTEX(gdp_mutex);
|
|
|
|
|
|
static struct kobject *get_device_parent(struct device *dev,
|
|
|
struct device *parent)
|
|
|
{
|
|
|
if (dev->class) {
|
|
|
- static DEFINE_MUTEX(gdp_mutex);
|
|
|
struct kobject *kobj = NULL;
|
|
|
struct kobject *parent_kobj;
|
|
|
struct kobject *k;
|
|
@@ -793,7 +793,9 @@ static void cleanup_glue_dir(struct device *dev, struct kobject *glue_dir)
|
|
|
glue_dir->kset != &dev->class->p->glue_dirs)
|
|
|
return;
|
|
|
|
|
|
+ mutex_lock(&gdp_mutex);
|
|
|
kobject_put(glue_dir);
|
|
|
+ mutex_unlock(&gdp_mutex);
|
|
|
}
|
|
|
|
|
|
static void cleanup_device_parent(struct device *dev)
|