aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2013-10-18 13:35:29 -0400
committerDan Williams <dan.j.williams@intel.com>2013-11-14 14:01:31 -0500
commit7476bd79fc019dd9a8361de6696627a4eae3ef05 (patch)
treeb95b39b60a38c2b84e668eb97c87bf2aeb6eedb2 /drivers
parent3bbdd49872931b8c4282aeb1cab5af7cce2cfb0d (diff)
async_pq: convert to dmaengine_unmap_data
Use the generic unmap object to unmap dma buffers. Cc: Vinod Koul <vinod.koul@intel.com> Cc: Tomasz Figa <t.figa@samsung.com> Cc: Dave Jiang <dave.jiang@intel.com> Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> [bzolnier: keep temporary dma_dest array in do_async_gen_syndrome()] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/dma/dmaengine.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index 54138b57b37c..f878c808466e 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -953,9 +953,12 @@ static void dmaengine_unmap(struct kref *kref)
953 dma_unmap_page(dev, unmap->addr[i], unmap->len, 953 dma_unmap_page(dev, unmap->addr[i], unmap->len,
954 DMA_FROM_DEVICE); 954 DMA_FROM_DEVICE);
955 cnt += unmap->bidi_cnt; 955 cnt += unmap->bidi_cnt;
956 for (; i < cnt; i++) 956 for (; i < cnt; i++) {
957 if (unmap->addr[i] == 0)
958 continue;
957 dma_unmap_page(dev, unmap->addr[i], unmap->len, 959 dma_unmap_page(dev, unmap->addr[i], unmap->len,
958 DMA_BIDIRECTIONAL); 960 DMA_BIDIRECTIONAL);
961 }
959 mempool_free(unmap, __get_unmap_pool(cnt)->pool); 962 mempool_free(unmap, __get_unmap_pool(cnt)->pool);
960} 963}
961 964