diff options
author | Uwe Kleine-König | 2014-08-07 23:48:26 +0200 |
---|---|---|
committer | David S. Miller | 2014-08-08 01:02:59 +0200 |
commit | a1f7d81b735cdd682b0e7c81bb2c6821cbbf8060 (patch) | |
tree | d6594d6a2a6af1f049189165cc391c149ac5f854 /drivers/net/ethernet/freescale/ucc_geth.c | |
parent | net: ucc_geth: make probe consistently acquire a reference to the phy node (diff) | |
download | kernel-qcow2-linux-a1f7d81b735cdd682b0e7c81bb2c6821cbbf8060.tar.gz kernel-qcow2-linux-a1f7d81b735cdd682b0e7c81bb2c6821cbbf8060.tar.xz kernel-qcow2-linux-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/freescale/ucc_geth.c')
-rw-r--r-- | drivers/net/ethernet/freescale/ucc_geth.c | 13 |
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); } |