Selaa lähdekoodia

Merge branch 'topic/unmap_cleanup' into for-linus

Vinod Koul 8 vuotta sitten
vanhempi
commit
96622bde4c

+ 1 - 1
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)
 static void fsl_re_desc_done(struct fsl_re_desc *desc)
 {
 {
 	dma_cookie_complete(&desc->async_tx);
 	dma_cookie_complete(&desc->async_tx);
-	dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
 	dma_descriptor_unmap(&desc->async_tx);
 	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)
 static void fsl_re_cleanup_descs(struct fsl_re_chan *re_chan)

+ 1 - 1
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) {
 	if (txd->cookie > 0) {
 		ret = txd->cookie;
 		ret = txd->cookie;
 
 
+		dma_descriptor_unmap(txd);
 		/* Run the link descriptor callback function */
 		/* Run the link descriptor callback function */
 		dmaengine_desc_get_callback_invoke(txd, NULL);
 		dmaengine_desc_get_callback_invoke(txd, NULL);
-		dma_descriptor_unmap(txd);
 	}
 	}
 
 
 	/* Run any dependencies */
 	/* Run any dependencies */

+ 1 - 1
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) {
 	if (desc->async_tx.cookie > 0) {
 		cookie = desc->async_tx.cookie;
 		cookie = desc->async_tx.cookie;
 
 
+		dma_descriptor_unmap(&desc->async_tx);
 		/* call the callback (must not sleep or submit new
 		/* call the callback (must not sleep or submit new
 		 * operations to this channel)
 		 * operations to this channel)
 		 */
 		 */
 		dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
 		dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
-		dma_descriptor_unmap(&desc->async_tx);
 	}
 	}
 
 
 	/* run dependent operations */
 	/* run dependent operations */

+ 1 - 1
drivers/dma/ppc4xx/adma.c

@@ -1482,11 +1482,11 @@ static dma_cookie_t ppc440spe_adma_run_tx_complete_actions(
 		cookie = desc->async_tx.cookie;
 		cookie = desc->async_tx.cookie;
 		desc->async_tx.cookie = 0;
 		desc->async_tx.cookie = 0;
 
 
+		dma_descriptor_unmap(&desc->async_tx);
 		/* call the callback (must not sleep or submit new
 		/* call the callback (must not sleep or submit new
 		 * operations to this channel)
 		 * operations to this channel)
 		 */
 		 */
 		dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
 		dmaengine_desc_get_callback_invoke(&desc->async_tx, NULL);
-		dma_descriptor_unmap(&desc->async_tx);
 	}
 	}
 
 
 	/* run dependent operations */
 	/* run dependent operations */

+ 1 - 2
drivers/dma/xgene-dma.c

@@ -606,12 +606,11 @@ static void xgene_dma_run_tx_complete_actions(struct xgene_dma_chan *chan,
 		return;
 		return;
 
 
 	dma_cookie_complete(tx);
 	dma_cookie_complete(tx);
+	dma_descriptor_unmap(tx);
 
 
 	/* Run the link descriptor callback function */
 	/* Run the link descriptor callback function */
 	dmaengine_desc_get_callback_invoke(tx, NULL);
 	dmaengine_desc_get_callback_invoke(tx, NULL);
 
 
-	dma_descriptor_unmap(tx);
-
 	/* Run any dependencies */
 	/* Run any dependencies */
 	dma_run_dependencies(tx);
 	dma_run_dependencies(tx);
 }
 }