[PATCH] regulator/scmi: Add missing of_node_get()
Cristian Marussi
cristian.marussi at arm.com
Wed Jun 22 01:04:08 PDT 2022
On Wed, Jun 22, 2022 at 11:48:16AM +0800, Liang He wrote:
> In scmi_regulator_probe(), of_find_node_by_name() will decrease
> the refcount of its first argument and we need a of_node_get()
> to keep reference balance.
>
> Signed-off-by: Liang He <windhl at 126.com>
Hi Liang,
good catch.
I saw many other drivers that had this same issue fixed, given it is
not so obvious, had also added some explaining comment like:
/* Balance of_node_put() done by of_find_node_by_name() */
so maybe it is a good idea to add something like that, but it depends at
the end on how Mark prefers really. (given it is also in the commit log
indeed...)
Instead, more certainly, I would add also a Fixes: tag to you patch.
Other than this:
Reviewed-by: Cristian Marussi <cristian.marussi at arm.com>
Thanks,
Cristian
> ---
> drivers/regulator/scmi-regulator.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/regulator/scmi-regulator.c b/drivers/regulator/scmi-regulator.c
> index 41ae7ac27ff6..b9918f4fd241 100644
> --- a/drivers/regulator/scmi-regulator.c
> +++ b/drivers/regulator/scmi-regulator.c
> @@ -343,6 +343,7 @@ static int scmi_regulator_probe(struct scmi_device *sdev)
> * plausible SCMI Voltage Domain number, all belonging to this SCMI
> * platform instance node (handle->dev->of_node).
> */
> + of_node_get(handle->dev->of_node);
> np = of_find_node_by_name(handle->dev->of_node, "regulators");
> for_each_child_of_node(np, child) {
> ret = process_scmi_regulator_of_node(sdev, ph, child, rinfo);
> --
> 2.25.1
>
More information about the linux-arm-kernel
mailing list