> diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c > index acb26c6..89e293b 100644 > --- a/drivers/dma-buf/udmabuf.c > +++ b/drivers/dma-buf/udmabuf.c > @@ -63,10 +63,9 @@ static struct sg_table *get_sg_table(struct device *dev, struct dma_buf *buf, > GFP_KERNEL); > if (ret < 0) > goto err; > - if (!dma_map_sg(dev, sg->sgl, sg->nents, direction)) { > - ret = -EINVAL; > + ret = dma_map_sgtable(dev, sg, direction, 0); > + if (ret < 0) > goto err; > - } > return sg; > > err: > @@ -78,7 +77,7 @@ static struct sg_table *get_sg_table(struct device *dev, struct dma_buf *buf, > static void put_sg_table(struct device *dev, struct sg_table *sg, > enum dma_data_direction direction) > { > - dma_unmap_sg(dev, sg->sgl, sg->nents, direction); > + dma_unmap_sgtable(dev, sg, direction, 0); > sg_free_table(sg); > kfree(sg); > } Easy straightforward conversation. Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> take care, Gerd