summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorFugang Duan <B38611@freescale.com>2013-07-04 17:22:38 +0800
committerFugang Duan <B38611@freescale.com>2013-07-04 17:22:38 +0800
commitd3e5374cb5cdb478f524d76166712c753f69dd54 (patch)
treede0157c0b4a2ce3c82c423edf76ae8c870476f77 /drivers
parent3c524af5298eb48349a2ac8e42ebc65e21bb68cb (diff)
ENGR00264875 enet: fix DMA map/unmap mismatch
Enable "CONFIG_DMA_API_DEBUG" in kernel, and system generate warning when run up. WARNING: /home/b29397/work/projects/linux-2.6-imx/lib/dma-debug.c:865 check_unmap+0x6f8/0x7d8() net eth0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000443d7040] [size=2048] [<80025f60>] (warn_slowpath_common+0x0/0x6c) from [<80026070>] (warn_slowpath_fmt+0x38/0x40) r9:00000000 r8:00000800 r7:807bfb0c r6:807a3d48 r5:00000000 It is dma memory map/unmap mismatch issue caused by kernel upgrade. Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'drivers')
-rwxr-xr-xdrivers/net/fec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index fc65bdc96241..2132bad2bb4e 100755
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -635,7 +635,7 @@ static int fec_rx_poll(struct napi_struct *napi, int budget)
data = (__u8 *)__va(bdp->cbd_bufaddr);
if (bdp->cbd_bufaddr)
- dma_unmap_single(&ndev->dev, bdp->cbd_bufaddr,
+ dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE);
if (id_entry->driver_data & FEC_QUIRK_SWAP_FRAME)
@@ -663,7 +663,7 @@ static int fec_rx_poll(struct napi_struct *napi, int budget)
netif_receive_skb(skb);
}
- bdp->cbd_bufaddr = dma_map_single(&ndev->dev, data,
+ bdp->cbd_bufaddr = dma_map_single(&fep->pdev->dev, data,
FEC_ENET_RX_FRSIZE, DMA_FROM_DEVICE);
rx_processing_done:
/* Clear the status flags for this buffer */