diff mbox series

[2/2] net: macb: add of_node_put to error paths

Message ID 20171106111005.2999-2-m.grzeschik@pengutronix.de
State Changes Requested, archived
Delegated to: David Miller
Headers show
Series [1/2] net: macb: add of_phy_deregister_fixed_link to error paths | expand

Commit Message

Michael Grzeschik Nov. 6, 2017, 11:10 a.m. UTC
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.grzeschik@pengutronix.de>
---
 drivers/net/ethernet/cadence/macb_main.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Nicolas Ferre Nov. 7, 2017, 9:27 a.m. UTC | #1
On 06/11/2017 at 12:10, Michael Grzeschik wrote:
> 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.grzeschik@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);

okay

>  	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);

yes

>  	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);

Isn't this call already done some lines below, just before
"free_netdev(dev);"?


>  		if ((np) && (of_phy_is_fixed_link(np)))
>  			of_phy_deregister_fixed_link(np);
>  		dev->phydev = NULL;
> 

Thanks for your patch.

Regards,
Michael Grzeschik Nov. 7, 2017, 10 a.m. UTC | #2
On Tue, Nov 07, 2017 at 10:27:20AM +0100, Nicolas Ferre wrote:
> On 06/11/2017 at 12:10, Michael Grzeschik wrote:
> > 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.grzeschik@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);
> 
> okay
> 
> >  	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);
> 
> yes
> 
> >  	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);
> 
> Isn't this call already done some lines below, just before
> "free_netdev(dev);"?

You are absolutely right. Will send v2.

> >  		if ((np) && (of_phy_is_fixed_link(np)))
> >  			of_phy_deregister_fixed_link(np);
> >  		dev->phydev = NULL;
> > 
> 
> Thanks for your patch.
Thanks,
Michael
diff mbox series

Patch

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;