On 22-10-2018 18:11, Florian Fainelli wrote: > On 10/22/18 3:32 AM, Jose Abreu wrote: >> If PHY is in force state and we have a C45 phy we need to use the >> standard C45 helpers and not the C22 ones. >> >> 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> >> --- >> drivers/net/phy/phy.c | 2 +- >> include/linux/phy.h | 8 ++++++++ >> 2 files changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c >> index 1d73ac3309ce..0ff4946e208e 100644 >> --- a/drivers/net/phy/phy.c >> +++ b/drivers/net/phy/phy.c >> @@ -995,7 +995,7 @@ void phy_state_machine(struct work_struct *work) >> } >> break; >> case PHY_FORCING: >> - err = genphy_update_link(phydev); >> + err = phy_update_link(phydev); >> if (err) >> break; >> >> diff --git a/include/linux/phy.h b/include/linux/phy.h >> index 3ea87f774a76..02c2ee8bc05b 100644 >> --- a/include/linux/phy.h >> +++ b/include/linux/phy.h >> @@ -1044,6 +1044,14 @@ static inline int phy_read_status(struct phy_device >> *phydev) >> return genphy_read_status(phydev); >> } >> >> +static inline int phy_update_link(struct phy_device *phydev) >> +{ >> + if (phydev->is_c45) >> + return gen10g_read_status(phydev); > Should not this be genphy_c45_read_link() for symmetry with > genphy_update_link() which only updates phydev->link?
Hmmm, genphy_c45_read_link() does not update phydev->link ... I can create a new gen10g_update_link() that wraps around genphy_c45_read_link() and updates link ... Thanks and Best Regards, Jose Miguel Abreu