--- x/drivers/base/swnode.c +++ y/drivers/base/swnode.c @@ -1103,12 +1103,11 @@ void software_node_notify_remove(struct sysfs_remove_link(&swnode->kobj, dev_name(dev)); sysfs_remove_link(&dev->kobj, "software_node"); - kobject_put(&swnode->kobj); if (swnode->managed) { set_secondary_fwnode(dev, NULL); - kobject_put(&swnode->kobj); } + kobject_put(&swnode->kobj); } static int __init software_node_init(void)