--- x/drivers/base/core.c +++ y/drivers/base/core.c @@ -3539,6 +3539,11 @@ int device_add(struct device *dev) error = dev_set_name(dev, "%s%u", dev->bus->dev_name, dev->id); if (error) goto name_error; + dev->init_name = NULL; + if (!dev_name(dev)) { + error = -ENOMEM; + goto name_error; + } pr_debug("device: '%s': %s\n", dev_name(dev), __func__);