summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-03-11 14:57:14 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-03-31 12:25:50 +0200
commitaf591784b21eec496a843239700c45a41b914571 (patch)
tree697d20f482e22c52df9f13adff3aa6dab44e0ba2 /drivers/net
parent6c42b62fceb042b4bc1c046c086962de4ce92c94 (diff)
downloadbarebox-af591784b21eec496a843239700c45a41b914571.tar.gz
barebox-af591784b21eec496a843239700c45a41b914571.tar.xz
net: fec_imx: Do not clear MII interrupt during receive
fec_recv() can be triggered during a MDIO access. so we may not clear the FEC_IEVENT_MII interrupt the MDIO access is waiting for. Clearing it in that moment causes the MDIO access to timeout. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/fec_imx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index 5ef1d4359e..f814b3b960 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -514,6 +514,7 @@ static int fec_recv(struct eth_device *dev)
* Check if any critical events have happened
*/
ievent = readl(fec->regs + FEC_IEVENT);
+ ievent &= ~FEC_IEVENT_MII;
writel(ievent, fec->regs + FEC_IEVENT);
if (ievent & FEC_IEVENT_BABT) {