Currently phy_read_status() considers that either the PHY driver has the read_status() callback or uses the generic callback.
For C45 PHYs we need to use the gen10g_read_status() callback. Signed-off-by: Jose Abreu <joab...@synopsys.com> Cc: Andrew Lunn <and...@lunn.ch> Cc: Florian Fainelli <f.faine...@gmail.com> Cc: "David S. Miller" <da...@davemloft.net> Cc: Joao Pinto <joao.pi...@synopsys.com> --- include/linux/phy.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/phy.h b/include/linux/phy.h index 333b56d8f746..872899136fdc 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -1030,6 +1030,8 @@ static inline int phy_read_status(struct phy_device *phydev) if (phydev->drv->read_status) return phydev->drv->read_status(phydev); + else if (phydev->is_c45) + return gen10g_read_status(phydev); else return genphy_read_status(phydev); } -- 2.7.4