]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
software node: Fix node registration
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Mon, 1 Mar 2021 14:30:11 +0000 (17:30 +0300)
committerSeth Forshee <seth.forshee@canonical.com>
Wed, 17 Mar 2021 18:46:13 +0000 (13:46 -0500)
BugLink: https://bugs.launchpad.net/bugs/1919492
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>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/base/swnode.c

index 4fcc1a6fb724c0cec8ab67187d2ec7dd1aa50373..fbfb01ff18565d80237031e144aa12bc016be31e 100644 (file)
@@ -786,6 +786,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);