Commit 129cc83a authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by David S. Miller

net: fs_enet: fix reference counting for phy_node

Make sure that fs_enet_probe is left with a reference to the phy node.
In the presence of a phy handle this is already the case as
of_parse_phandle returns a reference. In the fixed phy case a call to
of_node_get is necessary. Otherwise the error path and remove function
drop a reference the driver isn't holding.

Fixes: bb74d9a4 ("fs_enet: use the new fixed PHY helpers")
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9518259f
...@@ -1033,7 +1033,7 @@ static int fs_enet_probe(struct platform_device *ofdev) ...@@ -1033,7 +1033,7 @@ static int fs_enet_probe(struct platform_device *ofdev)
/* In the case of a fixed PHY, the DT node associated /* In the case of a fixed PHY, the DT node associated
* to the PHY is the Ethernet MAC DT node. * to the PHY is the Ethernet MAC DT node.
*/ */
fpi->phy_node = ofdev->dev.of_node; fpi->phy_node = of_node_get(ofdev->dev.of_node);
} }
if (of_device_is_compatible(ofdev->dev.of_node, "fsl,mpc5125-fec")) { if (of_device_is_compatible(ofdev->dev.of_node, "fsl,mpc5125-fec")) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment