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);
        }