From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: Re: [PATCH v2 1/2] net: macb: add of_phy_deregister_fixed_link to error paths Date: Wed, 8 Nov 2017 10:26:13 +0100 Message-ID: References: <20171108085635.2742-1-m.grzeschik@pengutronix.de> <20171108085635.2742-2-m.grzeschik@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: , , To: Michael Grzeschik Return-path: Received: from esa3.microchip.iphmx.com ([68.232.153.233]:54151 "EHLO esa3.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751599AbdKHJ0Z (ORCPT ); Wed, 8 Nov 2017 04:26:25 -0500 In-Reply-To: <20171108085635.2742-2-m.grzeschik@pengutronix.de> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 08/11/2017 at 09:56, Michael Grzeschik wrote: > We add the call of_phy_deregister_fixed_link to all associated > error paths for memory clean up. > > Signed-off-by: Michael Grzeschik Acked-by: Nicolas Ferre > --- > v2: removed extra parenthesis > > 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..b7846d6e9234e 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); > > -- Nicolas Ferre