]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
hwmon: (gsc-hwmon) Add missing of_node_put()
authorLiang He <windhl@126.com>
Thu, 16 Jun 2022 11:40:24 +0000 (19:40 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 13 Jul 2022 15:38:20 +0000 (08:38 -0700)
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>
drivers/hwmon/gsc-hwmon.c

index 1fe37418ff46c9f2a130c85bbc77aaac41956fdc..d64be48f1ef6c51c2490ee633824440b068f00b3 100644 (file)
@@ -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)) {