Message ID | 1469586048-15697-16-git-send-email-peter.chen@nxp.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
On Wednesday 27 July 2016 07:50 AM, Peter Chen wrote: > of_node_put needs to be called when the device node which is got > from of_parse_phandle has finished using. > > Signed-off-by: Peter Chen <peter.chen@nxp.com> > --- > drivers/net/ethernet/ti/davinci_emac.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c > index c6c5465..d8cb9d0 100644 > --- a/drivers/net/ethernet/ti/davinci_emac.c > +++ b/drivers/net/ethernet/ti/davinci_emac.c > @@ -1571,6 +1571,7 @@ static int emac_dev_open(struct net_device *ndev) > if (priv->phy_node) { > phydev = of_phy_connect(ndev, priv->phy_node, > &emac_adjust_link, 0, 0); > + of_node_put(priv->phy_node); > if (!phydev) { > dev_err(emac_dev, "could not connect to phy %s\n", > priv->phy_node->full_name); > phy_node is accessed in case of of_phy_connect() returns error, so it has to be moved after the dev_err log Regards Mugunthan V N
>On Wednesday 27 July 2016 07:50 AM, Peter Chen wrote: >> of_node_put needs to be called when the device node which is got from >> of_parse_phandle has finished using. >> >> Signed-off-by: Peter Chen <peter.chen@nxp.com> >> --- >> drivers/net/ethernet/ti/davinci_emac.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/net/ethernet/ti/davinci_emac.c >> b/drivers/net/ethernet/ti/davinci_emac.c >> index c6c5465..d8cb9d0 100644 >> --- a/drivers/net/ethernet/ti/davinci_emac.c >> +++ b/drivers/net/ethernet/ti/davinci_emac.c >> @@ -1571,6 +1571,7 @@ static int emac_dev_open(struct net_device *ndev) >> if (priv->phy_node) { >> phydev = of_phy_connect(ndev, priv->phy_node, >> &emac_adjust_link, 0, 0); >> + of_node_put(priv->phy_node); >> if (!phydev) { >> dev_err(emac_dev, "could not connect to phy %s\n", >> priv->phy_node->full_name); >> > >phy_node is accessed in case of of_phy_connect() returns error, so it has to be >moved after the dev_err log > Yeah, you are right. I will change it, thanks. Peter
+ Linux Omap ML On Wednesday 27 July 2016 01:13 PM, Peter Chen wrote: > >> On Wednesday 27 July 2016 07:50 AM, Peter Chen wrote: >>> of_node_put needs to be called when the device node which is got from >>> of_parse_phandle has finished using. >>> >>> Signed-off-by: Peter Chen <peter.chen@nxp.com> >>> --- >>> drivers/net/ethernet/ti/davinci_emac.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/net/ethernet/ti/davinci_emac.c >>> b/drivers/net/ethernet/ti/davinci_emac.c >>> index c6c5465..d8cb9d0 100644 >>> --- a/drivers/net/ethernet/ti/davinci_emac.c >>> +++ b/drivers/net/ethernet/ti/davinci_emac.c >>> @@ -1571,6 +1571,7 @@ static int emac_dev_open(struct net_device *ndev) >>> if (priv->phy_node) { >>> phydev = of_phy_connect(ndev, priv->phy_node, >>> &emac_adjust_link, 0, 0); >>> + of_node_put(priv->phy_node); >>> if (!phydev) { >>> dev_err(emac_dev, "could not connect to phy %s\n", >>> priv->phy_node->full_name); >>> >> >> phy_node is accessed in case of of_phy_connect() returns error, so it has to be >> moved after the dev_err log >> > > Yeah, you are right. I will change it, thanks. > I see one more problem, when you stop and open the interface there is no way to get the phy_node and interface will be unusable, so of_node_put() should be moved to remove() Regards Mugunthan V N
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c index c6c5465..d8cb9d0 100644 --- a/drivers/net/ethernet/ti/davinci_emac.c +++ b/drivers/net/ethernet/ti/davinci_emac.c @@ -1571,6 +1571,7 @@ static int emac_dev_open(struct net_device *ndev) if (priv->phy_node) { phydev = of_phy_connect(ndev, priv->phy_node, &emac_adjust_link, 0, 0); + of_node_put(priv->phy_node); if (!phydev) { dev_err(emac_dev, "could not connect to phy %s\n", priv->phy_node->full_name);
of_node_put needs to be called when the device node which is got from of_parse_phandle has finished using. Signed-off-by: Peter Chen <peter.chen@nxp.com> --- drivers/net/ethernet/ti/davinci_emac.c | 1 + 1 file changed, 1 insertion(+)