aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-10-03 09:36:11 +0530
committerVinod Koul <vinod.koul@intel.com>2016-10-03 09:36:11 +0530
commit96622bde4c3fc0b442d25646f70043a884d54285 (patch)
tree907aa9927427a9845619236d1b15a23c1de4fc8e /drivers/dma
parentMerge branch 'topic/tegra' into for-linus (diff)
parentdmaengine: xgene-dma: move unmap to before callback (diff)
downloadlinux-dev-96622bde4c3fc0b442d25646f70043a884d54285.tar.xz
linux-dev-96622bde4c3fc0b442d25646f70043a884d54285.zip
Merge branch 'topic/unmap_cleanup' into for-linus
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/fsl_raid.c2
-rw-r--r--drivers/dma/fsldma.c2
-rw-r--r--drivers/dma/mv_xor.c2
-rw-r--r--drivers/dma/ppc4xx/adma.c2
-rw-r--r--drivers/dma/xgene-dma.c3
5 files changed, 5 insertions, 6 deletions
diff --git a/drivers/dma/fsl_raid.c b/drivers/dma/fsl_raid.c
index 40c58ae80660..7beea1065d81 100644
--- a/drivers/dma/fsl_raid.c
+++ b/drivers/dma/fsl_raid.c
@@ -135,8 +135,8 @@ static void fsl_re_issue_pending(struct dma_chan *chan)
static void fsl_re_desc_done(struct fsl_re_desc *desc)
{
dma_cookie_complete(&desc->async_tx);
- dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
dma_descriptor_unmap(&desc->async_tx);
+ dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
}
static void fsl_re_cleanup_descs(struct fsl_re_chan *re_chan)
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index 87f6ab222d8c..51c75bf2b9b6 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -516,9 +516,9 @@ static dma_cookie_t fsldma_run_tx_complete_actions(struct fsldma_chan *chan,
if (txd->cookie > 0) {
ret = txd->cookie;
+ dma_descriptor_unmap(txd);
/* Run the link descriptor callback function */
dmaengine_desc_get_callback_invoke(txd, NULL);
- dma_descriptor_unmap(txd);
}
/* Run any dependencies */
diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
index a4f0eb1d1d9c..23f75285a4d9 100644
--- a/drivers/dma/mv_xor.c
+++ b/drivers/dma/mv_xor.c
@@ -206,11 +206,11 @@ mv_desc_run_tx_complete_actions(struct mv_xor_desc_slot *desc,
if (desc->async_tx.cookie > 0) {
cookie = desc->async_tx.cookie;
+ dma_descriptor_unmap(&desc->async_tx);
/* call the callback (must not sleep or submit new
* operations to this channel)
*/
dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
- dma_descriptor_unmap(&desc->async_tx);
}
/* run dependent operations */
diff --git a/drivers/dma/ppc4xx/adma.c b/drivers/dma/ppc4xx/adma.c
index d45da34a0568..b1535b1fe95c 100644
--- a/drivers/dma/ppc4xx/adma.c
+++ b/drivers/dma/ppc4xx/adma.c
@@ -1482,11 +1482,11 @@ static dma_cookie_t ppc440spe_adma_run_tx_complete_actions(
cookie = desc->async_tx.cookie;
desc->async_tx.cookie = 0;
+ dma_descriptor_unmap(&desc->async_tx);
/* call the callback (must not sleep or submit new
* operations to this channel)
*/
dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
- dma_descriptor_unmap(&desc->async_tx);
}
/* run dependent operations */
diff --git a/drivers/dma/xgene-dma.c b/drivers/dma/xgene-dma.c
index d66ed11baaec..8b693b712d0f 100644
--- a/drivers/dma/xgene-dma.c
+++ b/drivers/dma/xgene-dma.c
@@ -606,12 +606,11 @@ static void xgene_dma_run_tx_complete_actions(struct xgene_dma_chan *chan,
return;
dma_cookie_complete(tx);
+ dma_descriptor_unmap(tx);
/* Run the link descriptor callback function */
dmaengine_desc_get_callback_invoke(tx, NULL);
- dma_descriptor_unmap(tx);
-
/* Run any dependencies */
dma_run_dependencies(tx);
}