net: mvneta: fix the Rx desc buffer DMA unmapping
With CONFIG_DMA_API_DEBUG enabled we now get a warning when using the
mvneta driver:
mvneta d0030000.ethernet: DMA-API: device driver frees DMA memory with
wrong function [device address=0x000000001165b000] [size=4096 bytes]
[mapped as page] [unmapped as single]
This is because when using the s/w buffer management, the Rx descriptor
buffer is mapped with dma_map_page but unmapped with dma_unmap_single.
This patch fixes this by using the right unmapping function.
Fixes: 562e2f467e
("net: mvneta: Improve the buffer allocation method for SWBM")
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
76c0ddd8c3
commit
cf5cca6e4c
|
@ -2008,8 +2008,8 @@ static int mvneta_rx_swbm(struct napi_struct *napi,
|
|||
skb_add_rx_frag(rxq->skb, frag_num, page,
|
||||
frag_offset, frag_size,
|
||||
PAGE_SIZE);
|
||||
dma_unmap_single(dev->dev.parent, phys_addr,
|
||||
PAGE_SIZE, DMA_FROM_DEVICE);
|
||||
dma_unmap_page(dev->dev.parent, phys_addr,
|
||||
PAGE_SIZE, DMA_FROM_DEVICE);
|
||||
rxq->left_size -= frag_size;
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue