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 <m.grzesc...@pengutronix.de>
Acked-by: Nicolas Ferre <nicolas.fe...@microchip.com>
> ---
> 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

Reply via email to