MMD's in the device list sometimes return 0 for their id. When that happens lets reset the id back to 0xfffffff so that we don't get a stub device created for it.
This is a questionable commit, but i'm tossing it out there along with the comment that reading the spec seems to indicate that maybe there are further registers that could be probed in an attempt to resolve some futher "bad" phys. It sort of comes down to do we want unused phy devices floating around (potentially unmatched in dt) or do we want to cut them off early and let DT create them directly. For the ACPI case, we don't really have a good way to match them, and since it hasn't been working I think its perfectly reasonable at this point to expect phy's to implement enough of the standard that we can detect them and attach a phy specific driver. Signed-off-by: Jeremy Linton <jeremy.lin...@arm.com> --- drivers/net/phy/phy_device.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index b2cd22d6315c..acdada865864 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -780,6 +780,10 @@ static int get_phy_c45_ids(struct mii_bus *bus, int addr, u32 *phy_id, return ret; if (valid_phy_id(c45_ids->device_ids[i])) valid_id = true; + else + c45_ids->device_ids[i] = 0xffffffff; + + /* consider probing PKGID per 45.2.12.2.1? */ } if (!valid_id && c22_present) -- 2.26.2