diff options
author | Sam Yang <r52096@freescale.com> | 2009-03-17 10:24:59 +0800 |
---|---|---|
committer | Sam Yang <r52096@freescale.com> | 2009-03-17 10:34:22 +0800 |
commit | e10eb45d290c472ccb07e8cded9153519e2e2245 (patch) | |
tree | ed472991ad97916d9da95a296bee73596a4f76e3 /drivers/net | |
parent | 2d1dd61bb31dda4a02ea3d3bf70df0c67c9cb628 (diff) |
ENGR00109161 fec: fix cache operations for receive
dma_map_single was doing a clean+invalidate instead of invalidate.
This causes receive checksum errors in the IP stack.
Signed-off-by: Rob Herring <r.herring@freescale.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index ea80b5407a1d..9c257fb2578c 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c @@ -2209,7 +2209,7 @@ static void __inline__ fec_localhw_setup(struct net_device *dev) */ static void __inline__ fec_dcache_inv_range(void * start, void * end) { - dma_sync_single(NULL, (unsigned long)__pa(start), (unsigned long) (end-start), DMA_FROM_DEVICE); + dmac_inv_range(start, end); return ; } @@ -2218,7 +2218,7 @@ static void __inline__ fec_dcache_inv_range(void * start, void * end) */ static void __inline__ fec_dcache_flush_range(void * start, void * end) { - dma_sync_single(NULL, (unsigned long)__pa(start), (unsigned long) (end-start), DMA_BIDIRECTIONAL); + dmac_flush_range(start, end); return ; } |