]> git.itanic.dy.fi Git - linux-stable/commitdiff
clk: bcm2835: add missing release if devm_clk_hw_register fails
authorNavid Emamdoost <navid.emamdoost@gmail.com>
Sun, 9 Aug 2020 23:11:58 +0000 (18:11 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 08:05:40 +0000 (09:05 +0100)
[ Upstream commit f6c992ca7dd4f49042eec61f3fb426c94d901675 ]

In the implementation of bcm2835_register_pll(), the allocated pll is
leaked if devm_clk_hw_register() fails to register hw. Release pll if
devm_clk_hw_register() fails.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Link: https://lore.kernel.org/r/20200809231202.15811-1-navid.emamdoost@gmail.com
Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/bcm/clk-bcm2835.c

index 2b5075298cdc0745534f4ef88fd8476d41be69a9..3f16b553982d1201976864b1df6b7b38de3830a4 100644 (file)
@@ -1177,8 +1177,10 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman,
        pll->hw.init = &init;
 
        ret = devm_clk_hw_register(cprman->dev, &pll->hw);
-       if (ret)
+       if (ret) {
+               kfree(pll);
                return NULL;
+       }
        return &pll->hw;
 }