regulator: qcom-labibb: Fix missing of_node_put() in qcom_labibb_regulator_probe()
authorYuan Can <yuancan@huawei.com>
Sat, 3 Dec 2022 06:21:09 +0000 (06:21 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:25 +0000 (13:32 +0100)
[ Upstream commit cf34ac6aa2b12fb0c3aacfdcae8acd7904b949ec ]

The reg_node needs to be released through of_node_put() in the error
handling path when of_irq_get_byname() failed.

Fixes: 390af53e0411 ("regulator: qcom-labibb: Implement short-circuit and over-current IRQs")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Link: https://lore.kernel.org/r/20221203062109.115043-1-yuancan@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/regulator/qcom-labibb-regulator.c

index 639b71e..bcf7140 100644 (file)
@@ -822,6 +822,7 @@ static int qcom_labibb_regulator_probe(struct platform_device *pdev)
                        if (irq == 0)
                                irq = -EINVAL;
 
+                       of_node_put(reg_node);
                        return dev_err_probe(vreg->dev, irq,
                                             "Short-circuit irq not found.\n");
                }