aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/fec_main.c
diff options
context:
space:
mode:
authorNimrod Andy <B38611@freescale.com>2014-09-23 03:40:57 -0400
committerDavid S. Miller <davem@davemloft.net>2014-09-26 16:05:21 -0400
commitb64bf4b7dded4febb8e1f319eb6b9d419cbbd856 (patch)
tree9491077867ffd9cdc1a0702f53343885d4932303 /drivers/net/ethernet/freescale/fec_main.c
parentf88c7ede50f6266d82d504f2165bd7f0237b30d8 (diff)
net: fec: align rx data buffer size for dma map/unmap
Align allocated rx data buffer size for dma map/unmap, otherwise kernel print warning when enable DMA_API_DEBUG. Signed-off-by: Fugang Duan <B38611@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fec_main.c')
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index a08256fe8ef6..3d12a841ad15 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1403,7 +1403,8 @@ fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id)
1403 index = fec_enet_get_bd_index(rxq->rx_bd_base, bdp, fep); 1403 index = fec_enet_get_bd_index(rxq->rx_bd_base, bdp, fep);
1404 data = rxq->rx_skbuff[index]->data; 1404 data = rxq->rx_skbuff[index]->data;
1405 dma_sync_single_for_cpu(&fep->pdev->dev, bdp->cbd_bufaddr, 1405 dma_sync_single_for_cpu(&fep->pdev->dev, bdp->cbd_bufaddr,
1406 FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE); 1406 FEC_ENET_RX_FRSIZE - fep->rx_align,
1407 DMA_FROM_DEVICE);
1407 1408
1408 if (id_entry->driver_data & FEC_QUIRK_SWAP_FRAME) 1409 if (id_entry->driver_data & FEC_QUIRK_SWAP_FRAME)
1409 swap_buffer(data, pkt_len); 1410 swap_buffer(data, pkt_len);
@@ -1475,7 +1476,8 @@ fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id)
1475 } 1476 }
1476 1477
1477 dma_sync_single_for_device(&fep->pdev->dev, bdp->cbd_bufaddr, 1478 dma_sync_single_for_device(&fep->pdev->dev, bdp->cbd_bufaddr,
1478 FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE); 1479 FEC_ENET_RX_FRSIZE - fep->rx_align,
1480 DMA_FROM_DEVICE);
1479rx_processing_done: 1481rx_processing_done:
1480 /* Clear the status flags for this buffer */ 1482 /* Clear the status flags for this buffer */
1481 status &= ~BD_ENET_RX_STATS; 1483 status &= ~BD_ENET_RX_STATS;
@@ -2448,7 +2450,7 @@ static void fec_enet_free_buffers(struct net_device *ndev)
2448 if (skb) { 2450 if (skb) {
2449 dma_unmap_single(&fep->pdev->dev, 2451 dma_unmap_single(&fep->pdev->dev,
2450 bdp->cbd_bufaddr, 2452 bdp->cbd_bufaddr,
2451 FEC_ENET_RX_FRSIZE, 2453 FEC_ENET_RX_FRSIZE - fep->rx_align,
2452 DMA_FROM_DEVICE); 2454 DMA_FROM_DEVICE);
2453 dev_kfree_skb(skb); 2455 dev_kfree_skb(skb);
2454 } 2456 }