diff --git a/drivers/base/core.c b/drivers/base/core.c index 82b50a89cedc7e2baf488a76dd87a4fa6aed2caf..a5ff2a88bbeb0d459191d8ae7bec22c7e21f5757 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2041,8 +2041,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(kset, &dev->kobj, env); + device_unlock(dev); if (retval) goto out;