Hi,

I had a patch similar to:

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/mips/ath79/clock.c?id=b3d91db3f71d5f70ea60d900425a3f96aeb3d065

in my own tree.

However, mine was slightly different and was also freeing the memory mapping in the normal case, when 'pll_base' seems to be no more useful.

Best regards,

CJ

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
index c1102cffe37d..b5d81acb2d7a 100644
--- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c
@@ -508,9 +508,11 @@ static void __init ath79_clocks_init_dt_ng(struct device_node *np)
         ar9330_clk_init(ref_clk, pll_base);
     else {
         pr_err("%s: could not find any appropriate clk_init()\n", dnfn);
-        goto err_clk;
+        goto err_unmap;
     }

+    iounmap(pll_base);
+
     if (of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data)) {
         pr_err("%s: could not register clk provider\n", dnfn);
         goto err_clk;
@@ -518,6 +520,8 @@ static void __init ath79_clocks_init_dt_ng(struct device_node *np)

     return;

+err_unmap:
+    iounmap(pll_base);
 err_clk:
     clk_put(ref_clk);


Reply via email to