forked from luck/tmp_suning_uos_patched
net: mvneta: fix the remaining Rx descriptor unmapping issues
With CONFIG_DMA_API_DEBUG enabled we get DMA unmapping warning in
various places of the mvneta driver, for example when putting down an
interface while traffic is passing through.
The issue is when using s/w buffer management, the Rx buffers are mapped
using 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>
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ccfec9e5cb
commit
f4a518797b
|
@ -1890,8 +1890,8 @@ static void mvneta_rxq_drop_pkts(struct mvneta_port *pp,
|
|||
if (!data || !(rx_desc->buf_phys_addr))
|
||||
continue;
|
||||
|
||||
dma_unmap_single(pp->dev->dev.parent, rx_desc->buf_phys_addr,
|
||||
MVNETA_RX_BUF_SIZE(pp->pkt_size), DMA_FROM_DEVICE);
|
||||
dma_unmap_page(pp->dev->dev.parent, rx_desc->buf_phys_addr,
|
||||
PAGE_SIZE, DMA_FROM_DEVICE);
|
||||
__free_page(data);
|
||||
}
|
||||
}
|
||||
|
@ -2039,9 +2039,8 @@ static int mvneta_rx_swbm(struct napi_struct *napi,
|
|||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user