staging: ion: ion_cma_heap: Don't directly use dma_common_get_sgtable
authorJon Medhurst (Tixy) <tixy@linaro.org>
Fri, 17 Jul 2015 11:01:29 +0000 (12:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jul 2015 04:14:08 +0000 (21:14 -0700)
Use dma_get_sgtable rather than dma_common_get_sgtable so a device's
dma_ops aren't bypassed. This is essential in situations where a device
uses an IOMMU and the physical memory is not contiguous (as the common
function assumes).

Signed-off-by: Jon Medhurst <tixy@linaro.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/ion/ion_cma_heap.c

index f4211f1be48818e25a879935f9893d2145a355a8..86b91fd538528bfe4e696cc0b5ad0928293da9e1 100644 (file)
@@ -73,8 +73,7 @@ static int ion_cma_allocate(struct ion_heap *heap, struct ion_buffer *buffer,
        if (!info->table)
                goto free_mem;
 
-       if (dma_common_get_sgtable
-           (dev, info->table, info->cpu_addr, info->handle, len))
+       if (dma_get_sgtable(dev, info->table, info->cpu_addr, info->handle, len))
                goto free_table;
        /* keep this for memory release */
        buffer->priv_virt = info;