diff mbox series

[v4,2/3] software node: Let args be NULL in software_node_get_reference_args

Message ID 20231103083625.1229008-3-sakari.ailus@linux.intel.com
State Superseded
Headers show
Series Make fwnode_property_get_reference_args accept NULL args | expand

Commit Message

Sakari Ailus Nov. 3, 2023, 8:36 a.m. UTC
fwnode_get_property_reference_args() may not be called with args argument
NULL and while OF already supports this. Add the missing NULL check.

The purpose is to be able to count the references.

Fixes: b06184acf751 ("software node: Add software_node_get_reference_args()")
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/base/swnode.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Heikki Krogerus Nov. 8, 2023, 7:36 a.m. UTC | #1
On Fri, Nov 03, 2023 at 10:36:24AM +0200, Sakari Ailus wrote:
> fwnode_get_property_reference_args() may not be called with args argument
> NULL and while OF already supports this. Add the missing NULL check.
> 
> The purpose is to be able to count the references.
> 
> Fixes: b06184acf751 ("software node: Add software_node_get_reference_args()")
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
>  drivers/base/swnode.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
> index 1886995a0b3a..079bd14bdedc 100644
> --- a/drivers/base/swnode.c
> +++ b/drivers/base/swnode.c
> @@ -541,6 +541,9 @@ software_node_get_reference_args(const struct fwnode_handle *fwnode,
>  	if (nargs > NR_FWNODE_REFERENCE_ARGS)
>  		return -EINVAL;
>  
> +	if (!args)
> +		return 0;
> +
>  	args->fwnode = software_node_get(refnode);
>  	args->nargs = nargs;
>  
> -- 
> 2.39.2
diff mbox series

Patch

diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
index 1886995a0b3a..079bd14bdedc 100644
--- a/drivers/base/swnode.c
+++ b/drivers/base/swnode.c
@@ -541,6 +541,9 @@  software_node_get_reference_args(const struct fwnode_handle *fwnode,
 	if (nargs > NR_FWNODE_REFERENCE_ARGS)
 		return -EINVAL;
 
+	if (!args)
+		return 0;
+
 	args->fwnode = software_node_get(refnode);
 	args->nargs = nargs;