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> --- drivers/net/ethernet/cadence/macb_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 2c2acd011329a..2698a1fde39c7 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); @@ -3587,6 +3589,7 @@ static int macb_remove(struct platform_device *pdev) if (dev->phydev) 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); dev->phydev = NULL; -- 2.11.0