aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2014-08-07 23:48:26 +0200
committerDavid S. Miller <davem@davemloft.net>2014-08-07 16:02:59 -0700
commita1f7d81b735cdd682b0e7c81bb2c6821cbbf8060 (patch)
treed6594d6a2a6af1f049189165cc391c149ac5f854 /drivers/net/ethernet
parentnet: ucc_geth: make probe consistently acquire a reference to the phy node (diff)
downloadlinux-dev-a1f7d81b735cdd682b0e7c81bb2c6821cbbf8060.tar.xz
linux-dev-a1f7d81b735cdd682b0e7c81bb2c6821cbbf8060.zip
net: ucc_geth: Don't use the MAC as PHY without a fixed link
This matches what the other drivers using fixed-link support do and restores the behaviour before commit 87009814cdbb ("ucc_geth: use the new fixed PHY helpers") for the affected device trees (i.e. no phy-handle and no fixed-link). Fixes: 87009814cdbb ("ucc_geth: use the new fixed PHY helpers") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/freescale/ucc_geth.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c
index 0c83ef078ddf..d6b64e316527 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -3785,15 +3785,14 @@ static int ucc_geth_probe(struct platform_device* ofdev)
ug_info->uf_info.irq = irq_of_parse_and_map(np, 0);
ug_info->phy_node = of_parse_phandle(np, "phy-handle", 0);
- if (!ug_info->phy_node) {
- /* In the case of a fixed PHY, the DT node associated
+ if (!ug_info->phy_node && of_phy_is_fixed_link(np)) {
+ /*
+ * In the case of a fixed PHY, the DT node associated
* to the PHY is the Ethernet MAC DT node.
*/
- if (of_phy_is_fixed_link(np)) {
- err = of_phy_register_fixed_link(np);
- if (err)
- return err;
- }
+ err = of_phy_register_fixed_link(np);
+ if (err)
+ return err;
ug_info->phy_node = of_node_get(np);
}