summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>2021-03-01 17:30:11 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-17 17:03:48 +0100
commit1cb73c82622cced3bec33f54fcb2c8ec242363bd (patch)
treef9f5f7c5bb1361213ecf767c1c3df48789769fd6 /drivers/base
parent3bc266631a9ef92b070383c83de9cc2374ea3201 (diff)
downloadlinux-1cb73c82622cced3bec33f54fcb2c8ec242363bd.tar.gz
linux-1cb73c82622cced3bec33f54fcb2c8ec242363bd.tar.bz2
linux-1cb73c82622cced3bec33f54fcb2c8ec242363bd.zip
software node: Fix node registration
commit 8891123f9cbb9c1ee531e5a87fa116f0af685c48 upstream. Software node can not be registered before its parent. Fixes: 80488a6b1d3c ("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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/swnode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
index 7d5236eafe84..4c3b9813b284 100644
--- a/drivers/base/swnode.c
+++ b/drivers/base/swnode.c
@@ -812,6 +812,9 @@ int software_node_register(const struct software_node *node)
if (software_node_to_swnode(node))
return -EEXIST;
+ if (node->parent && !parent)
+ return -EINVAL;
+
return PTR_ERR_OR_ZERO(swnode_register(node, parent, 0));
}
EXPORT_SYMBOL_GPL(software_node_register);