On Fri, Nov 07, 2014 at 11:12:19AM +0800, Yijing Wang wrote: > >> +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) > >> > > > > I much prefer this patch over the other one, as it keeps the same > > behavior as today, and fixes the existing bug. > > > > Have you tested it out to see if it works properly? If so, can you > > resend it in a "proper" form so I can apply it? > > Yes, we tested it in our system, I will resend it now, thanks! Wonderful, thanks for that, and persisting with this. I'll queue up that patch tomorrow morning. greg k-h -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html