software node: Fix node registration

Software node can not be registered before its parent.

Fixes: 80488a6b1d ("software node: Add support for static node descriptors")
Cc: 5.10+ <stable@vger.kernel.org> # 5.10+
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Heikki Krogerus 2021-03-01 17:30:11 +03:00 committed by Rafael J. Wysocki
parent a38fd87484
commit 8891123f9c
1 changed files with 3 additions and 0 deletions

View File

@ -938,6 +938,9 @@ int software_node_register(const struct software_node *node)
if (software_node_to_swnode(node)) if (software_node_to_swnode(node))
return -EEXIST; return -EEXIST;
if (node->parent && !parent)
return -EINVAL;
return PTR_ERR_OR_ZERO(swnode_register(node, parent, 0)); return PTR_ERR_OR_ZERO(swnode_register(node, parent, 0));
} }
EXPORT_SYMBOL_GPL(software_node_register); EXPORT_SYMBOL_GPL(software_node_register);