diff options
-rw-r--r-- | drivers/net/sh_eth.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c index 96a629f1678e..3da168a859ca 100644 --- a/drivers/net/sh_eth.c +++ b/drivers/net/sh_eth.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <linux/pm_runtime.h> | 33 | #include <linux/pm_runtime.h> |
34 | #include <linux/slab.h> | 34 | #include <linux/slab.h> |
35 | #include <linux/ethtool.h> | 35 | #include <linux/ethtool.h> |
36 | #include <asm/cacheflush.h> | ||
37 | 36 | ||
38 | #include "sh_eth.h" | 37 | #include "sh_eth.h" |
39 | 38 | ||
@@ -864,6 +863,8 @@ static int sh_eth_txfree(struct net_device *ndev) | |||
864 | break; | 863 | break; |
865 | /* Free the original skb. */ | 864 | /* Free the original skb. */ |
866 | if (mdp->tx_skbuff[entry]) { | 865 | if (mdp->tx_skbuff[entry]) { |
866 | dma_unmap_single(&ndev->dev, txdesc->addr, | ||
867 | txdesc->buffer_length, DMA_TO_DEVICE); | ||
867 | dev_kfree_skb_irq(mdp->tx_skbuff[entry]); | 868 | dev_kfree_skb_irq(mdp->tx_skbuff[entry]); |
868 | mdp->tx_skbuff[entry] = NULL; | 869 | mdp->tx_skbuff[entry] = NULL; |
869 | freeNum++; | 870 | freeNum++; |
@@ -1487,13 +1488,12 @@ static int sh_eth_start_xmit(struct sk_buff *skb, struct net_device *ndev) | |||
1487 | entry = mdp->cur_tx % TX_RING_SIZE; | 1488 | entry = mdp->cur_tx % TX_RING_SIZE; |
1488 | mdp->tx_skbuff[entry] = skb; | 1489 | mdp->tx_skbuff[entry] = skb; |
1489 | txdesc = &mdp->tx_ring[entry]; | 1490 | txdesc = &mdp->tx_ring[entry]; |
1490 | txdesc->addr = virt_to_phys(skb->data); | ||
1491 | /* soft swap. */ | 1491 | /* soft swap. */ |
1492 | if (!mdp->cd->hw_swap) | 1492 | if (!mdp->cd->hw_swap) |
1493 | sh_eth_soft_swap(phys_to_virt(ALIGN(txdesc->addr, 4)), | 1493 | sh_eth_soft_swap(phys_to_virt(ALIGN(txdesc->addr, 4)), |
1494 | skb->len + 2); | 1494 | skb->len + 2); |
1495 | /* write back */ | 1495 | txdesc->addr = dma_map_single(&ndev->dev, skb->data, skb->len, |
1496 | __flush_purge_region(skb->data, skb->len); | 1496 | DMA_TO_DEVICE); |
1497 | if (skb->len < ETHERSMALL) | 1497 | if (skb->len < ETHERSMALL) |
1498 | txdesc->buffer_length = ETHERSMALL; | 1498 | txdesc->buffer_length = ETHERSMALL; |
1499 | else | 1499 | else |