[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <eef9a03e-33c1-814c-e005-e135c17b7d78@redhat.com>
Date: Wed, 14 Dec 2016 14:21:55 -0500
From: Doug Ledford <dledford@...hat.com>
To: Sebastian Ott <sebott@...ux.vnet.ibm.com>,
Sean Hefty <sean.hefty@...el.com>,
Hal Rosenstock <hal.rosenstock@...il.com>
Cc: linux-rdma@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] IB/core: fix unmap_sg argument
On 12/2/2016 8:45 AM, Sebastian Ott wrote:
> __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: Sebastian Ott <sebott@...ux.vnet.ibm.com>
> ---
> drivers/infiniband/core/umem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c
> index 84b4eff..1e62a5f 100644
> --- a/drivers/infiniband/core/umem.c
> +++ b/drivers/infiniband/core/umem.c
> @@ -51,7 +51,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d
>
> if (umem->nmap > 0)
> ib_dma_unmap_sg(dev, umem->sg_head.sgl,
> - umem->nmap,
> + umem->npages,
> DMA_BIDIRECTIONAL);
>
> for_each_sg(umem->sg_head.sgl, sg, umem->npages, i) {
>
Thanks, applied.
--
Doug Ledford <dledford@...hat.com>
GPG Key ID: 0E572FDD
Download attachment "signature.asc" of type "application/pgp-signature" (885 bytes)
Powered by blists - more mailing lists