From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Grzeschik Subject: [PATCH 1/2] net: macb: add of_phy_deregister_fixed_link to error paths Date: Mon, 6 Nov 2017 12:10:04 +0100 Message-ID: <20171106111005.2999-1-m.grzeschik@pengutronix.de> References: Cc: netdev@vger.kernel.org, kernel@pengutronix.de, andrew@lunn.ch To: nicolas.ferre@microchip.com Return-path: Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:60381 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751318AbdKFLKN (ORCPT ); Mon, 6 Nov 2017 06:10:13 -0500 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: We add the call of_phy_deregister_fixed_link to all associated error paths for memory clean up. Signed-off-by: Michael Grzeschik --- drivers/net/ethernet/cadence/macb_main.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 6df2cad61647a..2c2acd011329a 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -611,6 +611,8 @@ static int macb_mii_init(struct macb *bp) err_out_unregister_bus: mdiobus_unregister(bp->mii_bus); err_out_free_mdiobus: + if ((np) && (of_phy_is_fixed_link(np))) + of_phy_deregister_fixed_link(np); mdiobus_free(bp->mii_bus); err_out: return err; @@ -3552,6 +3554,8 @@ static int macb_probe(struct platform_device *pdev) err_out_unregister_mdio: phy_disconnect(dev->phydev); mdiobus_unregister(bp->mii_bus); + if ((np) && (of_phy_is_fixed_link(np))) + of_phy_deregister_fixed_link(np); mdiobus_free(bp->mii_bus); /* Shutdown the PHY if there is a GPIO reset */ @@ -3574,6 +3578,7 @@ static int macb_remove(struct platform_device *pdev) { struct net_device *dev; struct macb *bp; + struct device_node *np = pdev->dev.of_node; dev = platform_get_drvdata(pdev); @@ -3582,6 +3587,8 @@ static int macb_remove(struct platform_device *pdev) if (dev->phydev) phy_disconnect(dev->phydev); mdiobus_unregister(bp->mii_bus); + if ((np) && (of_phy_is_fixed_link(np))) + of_phy_deregister_fixed_link(np); dev->phydev = NULL; mdiobus_free(bp->mii_bus); -- 2.11.0