diff options
author | David S. Miller <davem@davemloft.net> | 2016-08-01 21:43:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-08-01 21:43:58 -0700 |
commit | bbcecd60209db54e4231e3a69bc425bc8b86096f (patch) | |
tree | 6a8e5d5bbeb31ab6466a14268ba3a5a928b8488c /drivers/net/ethernet/aurora/nb8800.c | |
parent | 0a2f0d2de4ed9bd73e2c8d604863399ed6a20527 (diff) | |
parent | 5817f977527e5cdbea9ca56d2b95824f59c8747d (diff) | |
download | op-kernel-dev-bbcecd60209db54e4231e3a69bc425bc8b86096f.zip op-kernel-dev-bbcecd60209db54e4231e3a69bc425bc8b86096f.tar.gz |
Merge branch 'net-of_node_put'
Peter Chen says:
====================
add missing of_node_put after calling of_parse_phandle
This patch set fixes missing of_node_put issue at ethernet driver.
of_node_put needs to be called when the device node which is got
from of_parse_phandle has finished using.
The compilation test has passed by using allmodconfig for drivers/net/ethernet.
Changes for v2:
- If the device node is local variable, it can be put in the same function.
- If the device node will be used the whole driver life cycle,
it should be put (call of_node_put) at driver's remove.
Patch [4, 5, 9, 14, 15/15]
- Fix the issue that the node still be used at error patch [6/15]
- Add acked for patch [11,12/15]
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aurora/nb8800.c')
-rw-r--r-- | drivers/net/ethernet/aurora/nb8800.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aurora/nb8800.c b/drivers/net/ethernet/aurora/nb8800.c index 0d4ea92..b047fd6 100644 --- a/drivers/net/ethernet/aurora/nb8800.c +++ b/drivers/net/ethernet/aurora/nb8800.c @@ -1504,6 +1504,7 @@ static int nb8800_probe(struct platform_device *pdev) err_free_dma: nb8800_dma_free(dev); err_free_bus: + of_node_put(priv->phy_node); mdiobus_unregister(bus); err_disable_clk: clk_disable_unprepare(priv->clk); @@ -1519,6 +1520,7 @@ static int nb8800_remove(struct platform_device *pdev) struct nb8800_priv *priv = netdev_priv(ndev); unregister_netdev(ndev); + of_node_put(priv->phy_node); mdiobus_unregister(priv->mii_bus); |