sh_eth: Fix cache invalidation omission of receive buffer
authorKouei Abe <kouei.abe.cp@renesas.com>
Fri, 30 Aug 2013 03:41:07 +0000 (12:41 +0900)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Sep 2013 02:02:32 +0000 (22:02 -0400)
Signed-off-by: Kouei Abe <kouei.abe.cp@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/sh_eth.c

index 06d8f62626e45bc8b3024c66abdb5986ab206306..60ec0f754b83c80064212766587b1ab30172469a 100644 (file)
@@ -1342,6 +1342,9 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota)
                        mdp->rx_skbuff[entry] = NULL;
                        if (mdp->cd->rpadir)
                                skb_reserve(skb, NET_IP_ALIGN);
+                       dma_sync_single_for_cpu(&ndev->dev, rxdesc->addr,
+                                               mdp->rx_buf_sz,
+                                               DMA_FROM_DEVICE);
                        skb_put(skb, pkt_len);
                        skb->protocol = eth_type_trans(skb, ndev);
                        netif_rx(skb);