diff options
author | Liang He <windhl@126.com> | 2022-06-16 19:40:24 +0800 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2022-07-13 08:38:20 -0700 |
commit | b674bcb13f418e0580878c21afbe14c4bdfa3138 (patch) | |
tree | e4e7c458dda8a4e88b88d4f22354ec429d85cb0c /drivers/hwmon/gsc-hwmon.c | |
parent | 489dd8f05a3e97a28bc240be29b78bf8aba77969 (diff) | |
download | linux-stable-b674bcb13f418e0580878c21afbe14c4bdfa3138.tar.gz linux-stable-b674bcb13f418e0580878c21afbe14c4bdfa3138.tar.bz2 linux-stable-b674bcb13f418e0580878c21afbe14c4bdfa3138.zip |
hwmon: (gsc-hwmon) Add missing of_node_put()
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>
Link: https://lore.kernel.org/r/20220616114024.3985770-1-windhl@126.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/gsc-hwmon.c')
-rw-r--r-- | drivers/hwmon/gsc-hwmon.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hwmon/gsc-hwmon.c b/drivers/hwmon/gsc-hwmon.c index 1fe37418ff46..d64be48f1ef6 100644 --- a/drivers/hwmon/gsc-hwmon.c +++ b/drivers/hwmon/gsc-hwmon.c @@ -269,10 +269,13 @@ 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)) { + of_node_put(fan); dev_err(dev, "fan node without base\n"); return ERR_PTR(-EINVAL); } + of_node_put(fan); + /* allocate structures for channels and count instances of each type */ device_for_each_child_node(dev, child) { if (fwnode_property_read_string(child, "label", &ch->name)) { |