Hi Andy, > gen10g_startup() had 2 bugs: > > 1) It had a boolean logic error in checking the MMD mask, and > always checked all of them.
Good catch. > 2) It checked devices which don't actually report link state, which > meant that it would never believe the link was fully up. > > Fix the boolean logic, and then mask the MMD mask so only link-reporting > devices are checked. > > Signed-off-by: Andy Fleming <aflem...@freescale.com> > Reported-by: Ed Swarthout <ed.swarth...@freescale.com> > --- > > drivers/net/phy/generic_10g.c | 8 ++++++-- > include/linux/mdio.h | 8 ++++++++ > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/phy/generic_10g.c b/drivers/net/phy/generic_10g.c > index 315c508..1c3e69e 100644 > --- a/drivers/net/phy/generic_10g.c > +++ b/drivers/net/phy/generic_10g.c > @@ -36,7 +36,7 @@ int gen10g_shutdown(struct phy_device *phydev) > int gen10g_startup(struct phy_device *phydev) > { > int devad, reg; > - u32 mmd_mask = phydev->mmds; > + u32 mmd_mask = phydev->mmds & MDIO_DEVS_LINK; So we are introducing this new macro, right? I don't see this in Linux - how is this handled there? If we do have to create a new name, can't we use something more self-documenting, e.g. MDIO_DEVS_REPORT_LINK or such? Cheers Detlev -- Quantum physicists can either know how fast they do it, or where they do it, but not both. -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot