[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <HE1PR0402MB2745408F4000C8B2C119B9EDFFAD0@HE1PR0402MB2745.eurprd04.prod.outlook.com>
Date: Wed, 29 Apr 2020 01:55:35 +0000
From: Andy Duan <fugang.duan@....com>
To: David Miller <davem@...emloft.net>,
"andrew@...n.ch" <andrew@...n.ch>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"cphealy@...il.com" <cphealy@...il.com>,
Leonard Crestez <leonard.crestez@....com>
Subject: RE: [EXT] Re: [PATCH net-next] net: ethernet: fec: Prevent MII event
after MII_SPEED write
From: David Miller <davem@...emloft.net> Sent: Wednesday, April 29, 2020 5:34 AM
> From: Andrew Lunn <andrew@...n.ch>
> Date: Tue, 28 Apr 2020 19:58:33 +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.
> >
> > Fixes: 29ae6bd1b0d8 ("net: ethernet: fec: Replace interrupt driven
> > MDIO with polled IO")
> > Reported-by: Andy Duan <fugang.duan@....com>
> > Suggested-by: Andy Duan <fugang.duan@....com>
> > Signed-off-by: Andrew Lunn <andrew@...n.ch>
>
> Applied to net-next, thanks.
David, it is too early to apply the patch, it will introduce another
break issue as I explain in previous mail for the patch.
Powered by blists - more mailing lists