soc: qcom: apr: Add of_node_put() before return
authorWan Jiabing <wanjiabing@vivo.com>
Thu, 14 Oct 2021 08:30:17 +0000 (04:30 -0400)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Sun, 24 Oct 2021 17:12:57 +0000 (12:12 -0500)
Fix following coccicheck warning:

./drivers/soc/qcom/apr.c:485:1-23: WARNING: Function
for_each_child_of_node should have of_node_put() before return

Early exits from for_each_child_of_node should decrement the
node reference counter.

Fixes: 834735662602 ("soc: qcom: apr: Add avs/audio tracking functionality")
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20211014083017.19714-1-wanjiabing@vivo.com
drivers/soc/qcom/apr.c

index 8a9bfbc..82ca12c 100644 (file)
@@ -492,12 +492,14 @@ static int of_apr_add_pd_lookups(struct device *dev)
                                                    1, &service_path);
                if (ret < 0) {
                        dev_err(dev, "pdr service path missing: %d\n", ret);
+                       of_node_put(node);
                        return ret;
                }
 
                pds = pdr_add_lookup(apr->pdr, service_name, service_path);
                if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) {
                        dev_err(dev, "pdr add lookup failed: %ld\n", PTR_ERR(pds));
+                       of_node_put(node);
                        return PTR_ERR(pds);
                }
        }