From ba62cb8da3093e15fd0db8a5a0bcd612e6dff1e3 Mon Sep 17 00:00:00 2001 From: Russell King Date: Wed, 12 Mar 2014 17:52:38 +0000 Subject: net:fec: move syncing of receive buffer back to device directly after copy Move the syncing for the DMA buffer back to the device immediately after we've done with copying data from it. This means the logic in the receive path handing the copying of data is now located together. Signed-off-by: Russell King --- drivers/net/ethernet/freescale/fec_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index d90fd50f8881..496e60228521 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1126,10 +1126,11 @@ fec_enet_rx(struct net_device *ndev, int budget) skb_copy_to_linear_data(skb, data, pkt_len); } + dma_sync_single_for_device(&fep->pdev->dev, bdp->bd.cbd_bufaddr, + FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE); + fec_enet_receive(skb, bdp, ndev); - dma_sync_single_for_device(&fep->pdev->dev, bdp->bd.cbd_bufaddr, - FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE); rx_processing_done: if (fep->flags & FEC_FLAG_BUFDESC_EX) { bdp->ebd.cbd_esc = BD_ENET_RX_INT; -- cgit