@@ -662,9 +662,9 @@ static int pch_gbe_init_phy(struct pch_gbe_adapter *adapter)
u32 addr;
u16 bmcr, stat;
- /* Discover phy addr by searching addrs in order {1,0,2,..., 31} */
+ /* Discover phy addr by searching addrs in order {1,2,...,31,0} */
for (addr = 0; addr < PCH_GBE_PHY_REGS_LEN; addr++) {
- adapter->mii.phy_id = (addr == 0) ? 1 : (addr == 1) ? 0 : addr;
+ adapter->mii.phy_id = (addr == 31) ? 0 : (addr + 1);
bmcr = pch_gbe_mdio_read(netdev, adapter->mii.phy_id, MII_BMCR);
stat = pch_gbe_mdio_read(netdev, adapter->mii.phy_id, MII_BMSR);
stat = pch_gbe_mdio_read(netdev, adapter->mii.phy_id, MII_BMSR);