powerpc/83xx: Add some error handling in 'quirk_mpc8360e_qe_enet10()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 8 Feb 2020 14:09:20 +0000 (15:09 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 4 Mar 2020 11:44:25 +0000 (22:44 +1100)
In some error handling path, we should call "of_node_put(np_par)" or
some resource may be leaking in case of error.

Fixes: 8159df72d43e ("83xx: add support for the kmeter1 board.")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Scott Wood <oss@buserror.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200208140920.7652-1-christophe.jaillet@wanadoo.fr
arch/powerpc/platforms/83xx/km83xx.c

index 306be75faec72bacd9e5a6f433630695df1e6266..bcdc2c203ec9391ad3b011a06e2ff31ca042d8ab 100644 (file)
@@ -60,10 +60,12 @@ static void quirk_mpc8360e_qe_enet10(void)
        ret = of_address_to_resource(np_par, 0, &res);
        if (ret) {
                pr_warn("%s couldn't map par_io registers\n", __func__);
-               return;
+               goto out;
        }
 
        base = ioremap(res.start, resource_size(&res));
+       if (!base)
+               goto out;
 
        /*
         * set output delay adjustments to default values according
@@ -111,6 +113,7 @@ static void quirk_mpc8360e_qe_enet10(void)
                setbits32((base + 0xac), 0x0000c000);
        }
        iounmap(base);
+out:
        of_node_put(np_par);
 }