Messages in this thread Patch in this message | | | From | Liang He <> | Subject | [PATCH] drivers: hwmon: Add missing of_node_put() in gsc-hwmon.c | Date | Wed, 15 Jun 2022 23:18:56 +0800 |
| |
In gsc_hwmon_get_devtree_pdata(), of_find_compatible_node() will return a node pointer with refcount incremented. We should use of_node_put() in fail path or when it is not used anymore.
Signed-off-by: Liang He <windhl@126.com> --- drivers/hwmon/gsc-hwmon.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/gsc-hwmon.c b/drivers/hwmon/gsc-hwmon.c index 1fe37418ff46..34c20d13627a 100644 --- a/drivers/hwmon/gsc-hwmon.c +++ b/drivers/hwmon/gsc-hwmon.c @@ -268,10 +268,14 @@ gsc_hwmon_get_devtree_pdata(struct device *dev) /* fan controller base address */ fan = of_find_compatible_node(dev->parent->of_node, NULL, "gw,gsc-fan"); - if (fan && of_property_read_u32(fan, "reg", &pdata->fan_base)) { + if (fan && of_property_read_u32(fan, "reg", &pdata->fan_base)) { + of_node_put(fan); dev_err(dev, "fan node without base\n"); return ERR_PTR(-EINVAL); } + + /* if fan&&!of_property_read_u32 fail */ + of_node_put(fan); /* allocate structures for channels and count instances of each type */ device_for_each_child_node(dev, child) { -- 2.25.1
| |