We were not checking the return from devm_add_action() which can fail.
Start using the helper devm_add_action_or_reset() and return directly
as we know that the cleanup has been done by this helper.

Signed-off-by: Sudip Mukherjee <[email protected]>
---

I think this will go throuh clk tree, so this doesnot have to wait as
devm_add_action_or_reset() is already in clk tree.

 drivers/clk/shmobile/renesas-cpg-mssr.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/shmobile/renesas-cpg-mssr.c 
b/drivers/clk/shmobile/renesas-cpg-mssr.c
index 9a4d888..925b600 100644
--- a/drivers/clk/shmobile/renesas-cpg-mssr.c
+++ b/drivers/clk/shmobile/renesas-cpg-mssr.c
@@ -568,7 +568,11 @@ static int __init cpg_mssr_probe(struct platform_device 
*pdev)
        if (error)
                return error;
 
-       devm_add_action(dev, cpg_mssr_del_clk_provider, np);
+       error = devm_add_action_or_reset(dev,
+                                        cpg_mssr_del_clk_provider,
+                                        np);
+       if (error)
+               return error;
 
        error = cpg_mssr_add_clk_domain(dev, info->core_pm_clks,
                                        info->num_core_pm_clks);
-- 
1.9.1

Reply via email to