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 |
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,
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 --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;
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(+)