Commit 17069d32 authored by Sebastian Ott's avatar Sebastian Ott Committed by Doug Ledford

IB/core: fix unmap_sg argument

__ib_umem_release calls dma_unmap_sg with a different number of
sg_entries than ib_umem_get uses for dma_map_sg. This might cause
trouble for implementations that merge sglist entries and results
in the following dma debug complaint:

DMA-API: device driver frees DMA sg list with different entry
         count [map count=2] [unmap count=1]

Fix it by using the correct value.
Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent d3a2418e
...@@ -51,7 +51,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d ...@@ -51,7 +51,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d
if (umem->nmap > 0) if (umem->nmap > 0)
ib_dma_unmap_sg(dev, umem->sg_head.sgl, ib_dma_unmap_sg(dev, umem->sg_head.sgl,
umem->nmap, umem->npages,
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
for_each_sg(umem->sg_head.sgl, sg, umem->npages, i) { for_each_sg(umem->sg_head.sgl, sg, umem->npages, i) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment