]> Pileus Git - ~andy/linux/commit
dma: mv_xor: Use dmaengine_unmap_data for the self-tests
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Tue, 10 Dec 2013 12:32:36 +0000 (09:32 -0300)
committerDan Williams <dan.j.williams@intel.com>
Fri, 13 Dec 2013 06:48:53 +0000 (22:48 -0800)
commitd16695a75019ac4baad7a117dc86d1d292e09115
treebe847b67118164debe7748c8b40b55465053b2dc
parent3cc377b9ae4bd3133bf8ba388d2b2b66b2b973c1
dma: mv_xor: Use dmaengine_unmap_data for the self-tests

The driver-specific unmap code was removed in:

  commit 54f8d501e842879143e867e70996574a54d1e130
  Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  Date:   Fri Oct 18 19:35:32 2013 +0200

      dmaengine: remove DMA unmap from drivers

which had the side-effect of not unmapping the self-test mappings.
Fix this by using dmaengine_unmap_data in the self-test routines.

In addition, since dmaengine_unmap() assumes that all mappings were created
with dma_map_page, this commit changes the single mapping to a page mapping
to avoid an incorrect unmapping of the memcpy self-test.

The allocation could be changed to be alloc_page(), but sticking to kmalloc
results in a less intrusive patch. The size of the test buffer is increased,
since dma_map_page() seem to fail when the source and destination pages are
the same page.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/mv_xor.c