Commit 60d865bd authored by Yang Yingliang's avatar Yang Yingliang Committed by Rob Herring

of: property: decrement node refcount in of_fwnode_get_reference_args()

In of_fwnode_get_reference_args(), the refcount of of_args.np has
been incremented in the case of successful return from
of_parse_phandle_with_args() or of_parse_phandle_with_fixed_args().

Decrement the refcount if of_args is not returned to the caller of
of_fwnode_get_reference_args().

Fixes: 3e3119d3 ("device property: Introduce fwnode_property_get_reference_args")
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: default avatarFrank Rowand <frowand.list@gmail.com>
Link: https://lore.kernel.org/r/20221121023209.3909759-1-yangyingliang@huawei.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
parent 917c362b
...@@ -993,8 +993,10 @@ of_fwnode_get_reference_args(const struct fwnode_handle *fwnode, ...@@ -993,8 +993,10 @@ of_fwnode_get_reference_args(const struct fwnode_handle *fwnode,
nargs, index, &of_args); nargs, index, &of_args);
if (ret < 0) if (ret < 0)
return ret; return ret;
if (!args) if (!args) {
of_node_put(of_args.np);
return 0; return 0;
}
args->nargs = of_args.args_count; args->nargs = of_args.args_count;
args->fwnode = of_fwnode_handle(of_args.np); args->fwnode = of_fwnode_handle(of_args.np);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment