PM / devfreq: exynos-bus: add missing of_node_put after calling of_parse_phandle
authorPeter Chen <peter.chen@nxp.com>
Fri, 1 Jul 2016 09:42:01 +0000 (17:42 +0800)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Wed, 6 Jul 2016 04:11:24 +0000 (13:11 +0900)
of_node_put needs to be called when the device node which is got
from of_parse_phandle has finished using.

[Commit updated to fix an error by MyungJoo]

Cc: Chanwoo Choi <cw00.choi@samsung.com>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
drivers/devfreq/exynos-bus.c

index e946f8f..29866f7 100644 (file)
@@ -383,7 +383,7 @@ err_clk:
 static int exynos_bus_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
-       struct device_node *np = dev->of_node;
+       struct device_node *np = dev->of_node, *node;
        struct devfreq_dev_profile *profile;
        struct devfreq_simple_ondemand_data *ondemand_data;
        struct devfreq_passive_data *passive_data;
@@ -415,10 +415,13 @@ static int exynos_bus_probe(struct platform_device *pdev)
                goto err;
        }
 
-       if (of_parse_phandle(dev->of_node, "devfreq", 0))
+       node = of_parse_phandle(dev->of_node, "devfreq", 0);
+       if (node) {
+               of_node_put(node);
                goto passive;
-       else
+       } else {
                ret = exynos_bus_parent_parse_of(np, bus);
+       }
 
        if (ret < 0)
                goto err;