diff --git a/drivers/base/core.c b/drivers/base/core.c index 7f39c813ce52..4a17c74d5cca 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2672,8 +2672,11 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr, if (!env) return -ENOMEM; + /* Synchronize with really_probe() */ + device_lock(dev); /* let the kset specific function add its keys */ retval = kset->uevent_ops->uevent(&dev->kobj, env); + device_unlock(dev); if (retval) goto out;