OSDN Git Service

regulator: qcom_smd: fix for_each_child.cocci warnings
authorkernel test robot <lkp@intel.com>
Sat, 15 Jan 2022 11:11:38 +0000 (12:11 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 24 Jan 2022 13:32:03 +0000 (13:32 +0000)
drivers/regulator/qcom_smd-regulator.c:1318:1-33: WARNING: Function "for_each_available_child_of_node" should have of_node_put() before return around line 1321.

Semantic patch information:
 False positives can be due to function calls within the for_each
 loop that may encapsulate an of_node_put.

Generated by: scripts/coccinelle/iterators/for_each_child.cocci

Fixes: 14e2976fbabd ("regulator: qcom_smd: Align probe function with rpmh-regulator")
CC: Konrad Dybcio <konrad.dybcio@somainline.org>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: kernel test robot <lkp@intel.com>
Signed-off-by: Julia Lawall <julia.lawall@inria.fr>
Link: https://lore.kernel.org/r/alpine.DEB.2.22.394.2201151210170.3051@hadrien
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/qcom_smd-regulator.c

index 9fc6661..8490aa8 100644 (file)
@@ -1317,8 +1317,10 @@ static int rpm_reg_probe(struct platform_device *pdev)
 
        for_each_available_child_of_node(dev->of_node, node) {
                vreg = devm_kzalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL);
-               if (!vreg)
+               if (!vreg) {
+                       of_node_put(node);
                        return -ENOMEM;
+               }
 
                ret = rpm_regulator_init_vreg(vreg, dev, node, rpm, vreg_data);