net: ethernet: ti: cpsw: fix device and of_node leaks
commit c7262aaace1b17a650598063e3b9ee1785fde377 upstream. Make sure to drop the references taken by of_get_child_by_name() and bus_find_device() before returning from cpsw_phy_sel(). Note that holding a reference to the cpsw-phy-sel device does not prevent the devres-managed private data from going away. Fixes: 5892cd135e16 ("drivers: net: cpsw-phy-sel: Add new driver...") Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: Grygorii Strashko <grygorii.strashko@ti.com> Cc: linux-omap@vger.kernel.org Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c5f70f452c
commit
d637933dec
@ -154,9 +154,12 @@ void cpsw_phy_sel(struct device *dev, phy_interface_t phy_mode, int slave)
|
||||
}
|
||||
|
||||
dev = bus_find_device(&platform_bus_type, NULL, node, match);
|
||||
of_node_put(node);
|
||||
priv = dev_get_drvdata(dev);
|
||||
|
||||
priv->cpsw_phy_sel(priv, phy_mode, slave);
|
||||
|
||||
put_device(dev);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpsw_phy_sel);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user