On Fri, May 01, 2020 at 03:29:54PM -0700, David Miller wrote: > From: Andrew Lunn <and...@lunn.ch> > Date: Wed, 29 Apr 2020 22:53:23 +0200 > > > The change to polled IO for MDIO completion assumes that MII events > > are only generated for MDIO transactions. However on some SoCs writing > > to the MII_SPEED register can also trigger an MII event. As a result, > > the next MDIO read has a pending MII event, and immediately reads the > > data registers before it contains useful data. When the read does > > complete, another MII event is posted, which results in the next read > > also going wrong, and the cycle continues. > > > > By writing 0 to the MII_DATA register before writing to the speed > > register, this MII event for the MII_SPEED is suppressed, and polled > > IO works as expected. > > > > v2 - Only infec_enet_mii_init() > > > > Fixes: 29ae6bd1b0d8 ("net: ethernet: fec: Replace interrupt driven MDIO > > with polled IO") > > Reported-by: Andy Duan <fugang.d...@nxp.com> > > Suggested-by: Andy Duan <fugang.d...@nxp.com> > > Signed-off-by: Andrew Lunn <and...@lunn.ch> > > Hmmm, I reverted the Fixes: tag patch so you'll need to respin this I think.
Ah. We wanted the fix reverting, but not that the fix was fixing. Sorry, we were unclear. Andrew