software node: fix wrong node passed to find nargs_prop
authorClément Léger <clement.leger@bootlin.com>
Mon, 20 Dec 2021 21:05:33 +0000 (22:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:46 +0000 (11:03 +0100)
[ Upstream commit c5fc5ba8b6b7bebc05e45036a33405b4c5036c2f ]

nargs_prop refers to a property located in the reference that is found
within the nargs property. Use the correct reference node in call to
property_entry_read_int_array() to retrieve the correct nargs value.

Fixes: b06184acf751 ("software node: Add software_node_get_reference_args()")
Signed-off-by: Clément Léger <clement.leger@bootlin.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Daniel Scally <djrscally@gmail.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/base/swnode.c

index c46f6a8..3ba1232 100644 (file)
@@ -535,7 +535,7 @@ software_node_get_reference_args(const struct fwnode_handle *fwnode,
                return -ENOENT;
 
        if (nargs_prop) {
-               error = property_entry_read_int_array(swnode->node->properties,
+               error = property_entry_read_int_array(ref->node->properties,
                                                      nargs_prop, sizeof(u32),
                                                      &nargs_prop_val, 1);
                if (error)