On 16.03.2021 09:57, Wong Vee Khee wrote: > When using Clause-22 to probe for PHY devices such as the Marvell > 88E2110, PHY ID with value 0 is read from the MII PHYID registers > which caused the PHY framework failed to attach the Marvell PHY > driver. > The issue occurs with a MAC driver that sets MDIO bus capability flag MDIOBUS_C22_C45, like stmmac? Or what is the affected MAC driver? And if you state it's a fix, a Fixes tag would be needed. > Fixed this by adding a check of PHY ID equals to all zeroes. > > Cc: stable@xxxxxxxxxxxxxxx > Reviewed-by: Voon Weifeng <voon.weifeng@xxxxxxxxx> > Signed-off-by: Wong Vee Khee <vee.khee.wong@xxxxxxxxx> > --- > drivers/net/phy/phy_device.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c > index a009d1769b08..f1afc00fcba2 100644 > --- a/drivers/net/phy/phy_device.c > +++ b/drivers/net/phy/phy_device.c > @@ -820,8 +820,8 @@ static int get_phy_c22_id(struct mii_bus *bus, int addr, u32 *phy_id) > > *phy_id |= phy_reg; > > - /* If the phy_id is mostly Fs, there is no device there */ > - if ((*phy_id & 0x1fffffff) == 0x1fffffff) > + /* If the phy_id is mostly Fs or all zeroes, there is no device there */ > + if (((*phy_id & 0x1fffffff) == 0x1fffffff) || (*phy_id == 0)) > return -ENODEV; > > return 0; >