|
@@ -385,7 +385,7 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
|
|
* data.
|
|
|
*/
|
|
|
bdp->cbd_bufaddr = dma_map_single(&fep->pdev->dev, bufaddr,
|
|
|
- FEC_ENET_TX_FRSIZE, DMA_TO_DEVICE);
|
|
|
+ skb->len, DMA_TO_DEVICE);
|
|
|
if (dma_mapping_error(&fep->pdev->dev, bdp->cbd_bufaddr)) {
|
|
|
bdp->cbd_bufaddr = 0;
|
|
|
fep->tx_skbuff[index] = NULL;
|
|
@@ -779,11 +779,10 @@ fec_enet_tx(struct net_device *ndev)
|
|
|
else
|
|
|
index = bdp - fep->tx_bd_base;
|
|
|
|
|
|
- dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
|
|
|
- FEC_ENET_TX_FRSIZE, DMA_TO_DEVICE);
|
|
|
- bdp->cbd_bufaddr = 0;
|
|
|
-
|
|
|
skb = fep->tx_skbuff[index];
|
|
|
+ dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr, skb->len,
|
|
|
+ DMA_TO_DEVICE);
|
|
|
+ bdp->cbd_bufaddr = 0;
|
|
|
|
|
|
/* Check for errors. */
|
|
|
if (status & (BD_ENET_TX_HB | BD_ENET_TX_LC |
|