OSDN Git Service

net: ucc_geth: Don't use the MAC as PHY without a fixed link
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 7 Aug 2014 21:48:26 +0000 (23:48 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Aug 2014 23:02:59 +0000 (16:02 -0700)
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>
drivers/net/ethernet/freescale/ucc_geth.c

index 0c83ef0..d6b64e3 100644 (file)
@@ -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);
        }