bus: qcom: Put child node before return
authorPan Bian <bianpan2016@163.com>
Thu, 21 Jan 2021 11:49:07 +0000 (03:49 -0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 30 Mar 2021 03:01:27 +0000 (22:01 -0500)
Put child node before return to fix potential reference count leak.
Generally, the reference count of child is incremented and decremented
automatically in the macro for_each_available_child_of_node() and should
be decremented manually if the loop is broken in loop body.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Fixes: 335a12754808 ("bus: qcom: add EBI2 driver")
Signed-off-by: Pan Bian <bianpan2016@163.com>
Link: https://lore.kernel.org/r/20210121114907.109267-1-bianpan2016@163.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/bus/qcom-ebi2.c

index 03ddcf4..0b8f53a 100644 (file)
@@ -353,8 +353,10 @@ static int qcom_ebi2_probe(struct platform_device *pdev)
 
                /* Figure out the chipselect */
                ret = of_property_read_u32(child, "reg", &csindex);
-               if (ret)
+               if (ret) {
+                       of_node_put(child);
                        return ret;
+               }
 
                if (csindex > 5) {
                        dev_err(dev,