aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/ti/cpsw.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2016-11-17 17:39:59 +0100
committerDavid S. Miller <davem@davemloft.net>2016-11-18 13:48:52 -0500
commit86e1d5adcef961eb383ce4eacbe0ef22f06e2045 (patch)
treea995380c52aca1023423157f0901bb36331213bc /drivers/net/ethernet/ti/cpsw.c
parentnet: ethernet: ti: cpsw: fix bad register access in probe error path (diff)
downloadlinux-dev-86e1d5adcef961eb383ce4eacbe0ef22f06e2045.tar.xz
linux-dev-86e1d5adcef961eb383ce4eacbe0ef22f06e2045.zip
net: ethernet: ti: cpsw: fix mdio device reference leak
Make sure to drop the reference taken by of_find_device_by_node() when looking up an mdio device from a phy_id property during probe. Fixes: 549985ee9c72 ("cpsw: simplify the setup of the register pointers") Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/ti/cpsw.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index f60f8ab7c1e3..84c5d214557e 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -2397,6 +2397,7 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
}
snprintf(slave_data->phy_id, sizeof(slave_data->phy_id),
PHY_ID_FMT, mdio->name, phyid);
+ put_device(&mdio->dev);
} else {
dev_err(&pdev->dev,
"No slave[%d] phy_id, phy-handle, or fixed-link property\n",