diff options
-rw-r--r-- | drivers/net/ethernet/freescale/fec_main.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 4cbebf3d80eb..73b000df8a08 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c | |||
@@ -385,7 +385,7 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev) | |||
385 | * data. | 385 | * data. |
386 | */ | 386 | */ |
387 | bdp->cbd_bufaddr = dma_map_single(&fep->pdev->dev, bufaddr, | 387 | bdp->cbd_bufaddr = dma_map_single(&fep->pdev->dev, bufaddr, |
388 | FEC_ENET_TX_FRSIZE, DMA_TO_DEVICE); | 388 | skb->len, DMA_TO_DEVICE); |
389 | if (dma_mapping_error(&fep->pdev->dev, bdp->cbd_bufaddr)) { | 389 | if (dma_mapping_error(&fep->pdev->dev, bdp->cbd_bufaddr)) { |
390 | bdp->cbd_bufaddr = 0; | 390 | bdp->cbd_bufaddr = 0; |
391 | fep->tx_skbuff[index] = NULL; | 391 | fep->tx_skbuff[index] = NULL; |
@@ -779,11 +779,10 @@ fec_enet_tx(struct net_device *ndev) | |||
779 | else | 779 | else |
780 | index = bdp - fep->tx_bd_base; | 780 | index = bdp - fep->tx_bd_base; |
781 | 781 | ||
782 | dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr, | ||
783 | FEC_ENET_TX_FRSIZE, DMA_TO_DEVICE); | ||
784 | bdp->cbd_bufaddr = 0; | ||
785 | |||
786 | skb = fep->tx_skbuff[index]; | 782 | skb = fep->tx_skbuff[index]; |
783 | dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr, skb->len, | ||
784 | DMA_TO_DEVICE); | ||
785 | bdp->cbd_bufaddr = 0; | ||
787 | 786 | ||
788 | /* Check for errors. */ | 787 | /* Check for errors. */ |
789 | if (status & (BD_ENET_TX_HB | BD_ENET_TX_LC | | 788 | if (status & (BD_ENET_TX_HB | BD_ENET_TX_LC | |