summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFugang Duan <B38611@freescale.com>2012-11-27 17:44:19 +0800
committerJason Liu <r64343@freescale.com>2012-12-03 10:57:51 +0800
commitba1eac66c8ef33ec25568f8076515c0eaf1a0232 (patch)
treebbb5e6bbad4bcbb45075122a0d9545d7f5d49b24
parenta74baa8f0618807693ca014ca9c5c1d085336e2a (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 86e4ea3404b3..4193ac75b364 100755
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1492,7 +1492,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");