[PATCH 7/133] [Jaunty SRU] ARM.imx51 Freescale:ENGR00109161 fec: fix cache operations for receive

Brad Figg brad.figg at canonical.com
Thu Jul 9 16:47:57 UTC 2009


dma_map_single was doing a clean+invalidate instead of invalidate.
This causes receive checksum errors in the IP stack.

Note: This is not the exact same patch as supplied by Freescale, the
      end result is the same.

Signed-off-by: Rob Herring <r.herring at freescale.com>
Signed-off-by: Brad Figg <brad.figg at canonical.com>
---
 drivers/net/fec.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index c4049a5..b771624 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1430,6 +1430,7 @@ static void __inline__ fec_localhw_setup(struct net_device *dev)
  */
 static void __inline__ fec_dcache_inv_range(void * start, void * end)
 {
+	dmac_inv_range(start, end);
 	return ;
 }
 
@@ -1438,6 +1439,7 @@ static void __inline__ fec_dcache_inv_range(void * start, void * end)
  */
 static void __inline__ fec_dcache_flush_range(void * start, void * end)
 {
+	dmac_flush_range(start, end);
 	return ;
 }
 
-- 
1.6.0.4





More information about the kernel-team mailing list