]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
pinctrl: rockchip: fix leaked of_node references
authorWen Yang <wen.yang99@zte.com.cn>
Mon, 15 Apr 2019 06:24:02 +0000 (14:24 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 23 May 2019 07:24:46 +0000 (09:24 +0200)
The call to of_parse_phandle returns a node pointer with refcount
incremented thus it must be explicitly decremented after the last
usage.

Detected by coccinelle with the following warnings:
./drivers/pinctrl/pinctrl-rockchip.c:3221:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 3196, but without a corresponding object release within this function.
./drivers/pinctrl/pinctrl-rockchip.c:3223:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 3196, but without a corresponding object release within this function.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-gpio@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-rockchip.c

index 16bf21bf69a28be67f6963d5e7d634dfb1e75cf2..64363363fe27d52c1311b36ce835b7c245e85e6f 100644 (file)
@@ -3212,6 +3212,7 @@ static int rockchip_get_bank_data(struct rockchip_pin_bank *bank,
                                                    base,
                                                    &rockchip_regmap_config);
                }
+               of_node_put(node);
        }
 
        bank->irq = irq_of_parse_and_map(bank->of_node, 0);