aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYoshihiro Shimoda <shimoda.yoshihiro@renesas.com>2009-05-24 19:52:35 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-26 01:49:53 -0400
commite88aae7bb1dc50457489d1d7c81dcf4db23ccf94 (patch)
tree51c47e37796d83be0b6ecd587537a70633c4a301
parenta1dcb6628b9489504a3be2515580fc4de891f94a (diff)
net: sh_eth: fix cache coherency issue
Fix the problem that may not work receive process by cache coherency issue. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/sh_eth.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 3ab28bb00c12..a742297e3e94 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -250,6 +250,8 @@ static void sh_eth_ring_format(struct net_device *ndev)
250 mdp->rx_skbuff[i] = skb; 250 mdp->rx_skbuff[i] = skb;
251 if (skb == NULL) 251 if (skb == NULL)
252 break; 252 break;
253 dma_map_single(&ndev->dev, skb->tail, mdp->rx_buf_sz,
254 DMA_FROM_DEVICE);
253 skb->dev = ndev; /* Mark as being used by this device. */ 255 skb->dev = ndev; /* Mark as being used by this device. */
254#if defined(CONFIG_CPU_SUBTYPE_SH7763) 256#if defined(CONFIG_CPU_SUBTYPE_SH7763)
255 reserve = SH7763_SKB_ALIGN 257 reserve = SH7763_SKB_ALIGN
@@ -559,6 +561,8 @@ static int sh_eth_rx(struct net_device *ndev)
559 mdp->rx_skbuff[entry] = skb; 561 mdp->rx_skbuff[entry] = skb;
560 if (skb == NULL) 562 if (skb == NULL)
561 break; /* Better luck next round. */ 563 break; /* Better luck next round. */
564 dma_map_single(&ndev->dev, skb->tail, mdp->rx_buf_sz,
565 DMA_FROM_DEVICE);
562 skb->dev = ndev; 566 skb->dev = ndev;
563#if defined(CONFIG_CPU_SUBTYPE_SH7763) 567#if defined(CONFIG_CPU_SUBTYPE_SH7763)
564 reserve = SH7763_SKB_ALIGN 568 reserve = SH7763_SKB_ALIGN