To share memory space using dma-buf, a API of the dma-buf requires dma device, but devices such as rxe do not have a dma device. For those case, change to specify a device of struct ib instead of the dma device. Signed-off-by: Shunsuke Mie <mie@xxxxxxxxxx> --- drivers/infiniband/core/umem_dmabuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/core/umem_dmabuf.c b/drivers/infiniband/core/umem_dmabuf.c index c6e875619fac..58d6ac9cb51a 100644 --- a/drivers/infiniband/core/umem_dmabuf.c +++ b/drivers/infiniband/core/umem_dmabuf.c @@ -146,7 +146,7 @@ struct ib_umem_dmabuf *ib_umem_dmabuf_get(struct ib_device *device, umem_dmabuf->attach = dma_buf_dynamic_attach( dmabuf, - device->dma_device, + device->dma_device ? device->dma_device : &device->dev, ops, umem_dmabuf); if (IS_ERR(umem_dmabuf->attach)) { -- 2.17.1