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)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 22 Dec 2021 17:26:18 +0000 (18:26 +0100)
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>
drivers/base/swnode.c

index 4debcea4fb12d0c7760e761f868ce57e9c3ca56a..0a482212c7e8ea091dba861a98f09287df8bca28 100644 (file)
@@ -529,7 +529,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)