--- x/drivers/base/core.c +++ y/drivers/base/core.c @@ -3530,6 +3530,8 @@ int device_add(struct device *dev) if (dev->init_name) { error = dev_set_name(dev, "%s", dev->init_name); dev->init_name = NULL; + if (error) + goto name_error; } if (dev_name(dev))