summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorFugang Duan <B38611@freescale.com>2014-04-22 12:07:07 +0800
committerFugang Duan <B38611@freescale.com>2014-04-22 13:45:18 +0800
commite659d5b1432e4a654458156f0d390d214160ea3e (patch)
tree5a198d574a9df67f1385f3745c6f4573752ef4fe /drivers/net
parent468755326e5ab405e1567480d4c09c3387ce028a (diff)
ENGR00309727 net:fec: fix mdio timeout issue
The issue can be reproduced after overninght test, reproduced step: nfs mount rootfs, don't do any other ethernet test cases. If the issue generates, there has log: fec 2188000.ethernet eth0: MDIO read timeout The origin interrupt handler may ignore to process mdio interrupt in current irq handler until the next irq action. If the next irq comes in time that is less than the mdio wait time, the next irq handler wake up a single thread waiting on this completion, MDIO read function can get the single before time expired. Otherwise, MDIO read generate timeout issue. The patch just to fix the issue. Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index b13675cf8975..cd28f81b9e9b 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1251,7 +1251,7 @@ fec_enet_interrupt(int irq, void *dev_id)
complete(&fep->mdio_done);
fep->work_mdio = 0;
}
- } while (fec_enet_collect_events(fep));
+ } while (1);
return ret;
}