ar71xx: ag71xx: Fix broken networking on some devices (FS#2177)
[openwrt/openwrt.git] / target / linux / ar71xx / files / drivers / net / ethernet / atheros / ag71xx / ag71xx_phy.c
index e92798ceb8975618b8cb2d4b9321402833e97b1e..336143f753d4d07ce66dd55942c29d08a37877e7 100644 (file)
@@ -127,12 +127,13 @@ static int ag71xx_phy_connect_multi(struct ag71xx *ag)
                if (ag->mii_bus->mdio_map[phy_addr] == NULL)
                        continue;
 
-               phydev = mdiobus_get_phy(ag->mii_bus, phy_addr);
-
                DBG("%s: PHY found at %s, uid=%08x\n",
                dev_name(dev),
                dev_name(&ag->mii_bus->mdio_map[phy_addr]->dev),
                (phydev) ? phydev->phy_id : 0);
+
+               if (phydev == NULL)
+                       phydev = mdiobus_get_phy(ag->mii_bus, phy_addr);
 #endif
        }