We add the call of_node_put(bp->phy_node) to all associated error
paths for memory clean up.

Signed-off-by: Michael Grzeschik <m.grzesc...@pengutronix.de>
---
v1 -> v2: removed extra of_node_put from macb_remove

 drivers/net/ethernet/cadence/macb_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/cadence/macb_main.c 
b/drivers/net/ethernet/cadence/macb_main.c
index 2c2acd011329a..c66df096e81a5 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -611,6 +611,7 @@ static int macb_mii_init(struct macb *bp)
 err_out_unregister_bus:
        mdiobus_unregister(bp->mii_bus);
 err_out_free_mdiobus:
+       of_node_put(bp->phy_node);
        if ((np) && (of_phy_is_fixed_link(np)))
                of_phy_deregister_fixed_link(np);
        mdiobus_free(bp->mii_bus);
@@ -3554,6 +3555,7 @@ static int macb_probe(struct platform_device *pdev)
 err_out_unregister_mdio:
        phy_disconnect(dev->phydev);
        mdiobus_unregister(bp->mii_bus);
+       of_node_put(bp->phy_node);
        if ((np) && (of_phy_is_fixed_link(np)))
                of_phy_deregister_fixed_link(np);
        mdiobus_free(bp->mii_bus);
-- 
2.11.0

Reply via email to