If devm_gen_pool_create() fails, the previously enabled sram->clk is
not disabled on probe() exit.

Signed-off-by: Vladimir Zapolskiy <vladimir_zapols...@mentor.com>
---
 drivers/misc/sram.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/misc/sram.c b/drivers/misc/sram.c
index eeaaf5f..b44a423 100644
--- a/drivers/misc/sram.c
+++ b/drivers/misc/sram.c
@@ -90,16 +90,17 @@ static int sram_probe(struct platform_device *pdev)
        if (!sram)
                return -ENOMEM;
 
+       sram->pool = devm_gen_pool_create(&pdev->dev,
+                                         ilog2(SRAM_GRANULARITY), -1);
+       if (!sram->pool)
+               return -ENOMEM;
+
        sram->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(sram->clk))
                sram->clk = NULL;
        else
                clk_prepare_enable(sram->clk);
 
-       sram->pool = devm_gen_pool_create(&pdev->dev, ilog2(SRAM_GRANULARITY), 
-1);
-       if (!sram->pool)
-               return -ENOMEM;
-
        /*
         * We need an additional block to mark the end of the memory region
         * after the reserved blocks from the dt are processed.
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to