diff options
author | Pan Bian <bianpan2016@163.com> | 2021-01-21 14:49:07 +0300 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2021-03-30 06:01:27 +0300 |
commit | ac6ad7c2a862d682bb584a4bc904d89fa7721af8 (patch) | |
tree | a4f491a3caf7930ca08a5569f837d081ba622b8e /drivers/bus/qcom-ebi2.c | |
parent | ddd6b7267fe6e3c5a48e2e4eda18f354595c6d65 (diff) | |
download | linux-ac6ad7c2a862d682bb584a4bc904d89fa7721af8.tar.xz |
bus: qcom: Put child node before return
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>
Diffstat (limited to 'drivers/bus/qcom-ebi2.c')
-rw-r--r-- | drivers/bus/qcom-ebi2.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/bus/qcom-ebi2.c b/drivers/bus/qcom-ebi2.c index 03ddcf426887..0b8f53a688b8 100644 --- a/drivers/bus/qcom-ebi2.c +++ b/drivers/bus/qcom-ebi2.c @@ -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, |