The commit "generic: ar8216: add sanity check to ar8216_probe"
(774da6c7a40320a320b28d71291c0e61fcf7bc8a) stated that PHY IDs
should be checked at address 0-4. However, the PHY 4 was
never check by the for loop... And I can't find any documents
about why this check should be performed the way it is
currently?!

Signed-off-by: Christian Lamparter <chunk...@gmail.com>
---
 .../linux/generic/files/drivers/net/phy/ar8216.c   | 23 ----------------------
 1 file changed, 23 deletions(-)

diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c 
b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 70f4774..57130b1 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -2110,26 +2110,6 @@ ar8xxx_phy_match(u32 phy_id)
        return false;
 }
 
-static bool
-ar8xxx_is_possible(struct mii_bus *bus)
-{
-       unsigned i;
-
-       for (i = 0; i < 4; i++) {
-               u32 phy_id;
-
-               phy_id = mdiobus_read(bus, i, MII_PHYSID1) << 16;
-               phy_id |= mdiobus_read(bus, i, MII_PHYSID2);
-               if (!ar8xxx_phy_match(phy_id)) {
-                       pr_debug("ar8xxx: unknown PHY at %s:%02x id:%08x\n",
-                                dev_name(&bus->dev), i, phy_id);
-                       return false;
-               }
-       }
-
-       return true;
-}
-
 static int
 ar8xxx_phy_probe(struct phy_device *phydev)
 {
@@ -2141,9 +2121,6 @@ ar8xxx_phy_probe(struct phy_device *phydev)
        if (phydev->addr != 0 && phydev->addr != 4)
                return -ENODEV;
 
-       if (!ar8xxx_is_possible(phydev->bus))
-               return -ENODEV;
-
        mutex_lock(&ar8xxx_dev_list_lock);
        list_for_each_entry(priv, &ar8xxx_dev_list, list)
                if (priv->mii_bus == phydev->bus)
-- 
2.9.3


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to