summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFugang Duan <B38611@freescale.com>2012-11-27 17:44:19 +0800
committerJason Liu <r64343@freescale.com>2012-11-28 16:57:07 +0800
commitb3ce4ba42511cf4db50c59710a9c4797c3b871a3 (patch)
treef5fd34624229c3963141aa621bdbf7e3ce39c0bf
parent0d5a70234d936766e46d38372e12cdedb5cdff3f (diff)
ENGR00235090 FEC: Workaround for FEC RX hang with stress test
When do Ethernet UDP stress overnight test with abundance of data transmission, RX path may hang-on. Dump the RX BD, found all BD "Empty" bit is cleared, which means CPU read BD status is not right and waiting here. Change BD memroy attribute from Normal to strongly ordered: changes the memory attribute of C=0, B=0 instead of C=0, B=1. Apply the change, the issue cannot be reproduced. Signed-off-by: Fugang Duan <B38611@freescale.com>
-rwxr-xr-xdrivers/net/fec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index db48dfda84e2..6fafd9152d0b 100755
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1503,7 +1503,7 @@ static int fec_enet_init(struct net_device *ndev)
int i;
/* Allocate memory for buffer descriptors. */
- cbd_base = dma_alloc_coherent(NULL, BUFDES_SIZE, &fep->bd_dma,
+ cbd_base = dma_alloc_noncacheable(NULL, BUFDES_SIZE, &fep->bd_dma,
GFP_KERNEL);
if (!cbd_base) {
printk("FEC: allocate descriptor memory failed?\n");