| From 87cea76384257e6ac3fa4791b6a6b9d0335f7457 Mon Sep 17 00:00:00 2001 |
| From: Xuelin Shi <xuelin.shi@freescale.com> |
| Date: Tue, 1 Jul 2014 16:32:38 +0800 |
| Subject: dmaengine: fix xor sources continuation |
| |
| From: Xuelin Shi <xuelin.shi@freescale.com> |
| |
| commit 87cea76384257e6ac3fa4791b6a6b9d0335f7457 upstream. |
| |
| the partial xor result must be kept until the next |
| tx is generated. |
| |
| Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> |
| Signed-off-by: Dan Williams <dan.j.williams@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| crypto/async_tx/async_xor.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/crypto/async_tx/async_xor.c |
| +++ b/crypto/async_tx/async_xor.c |
| @@ -78,8 +78,6 @@ do_async_xor(struct dma_chan *chan, stru |
| tx = dma->device_prep_dma_xor(chan, dma_dest, src_list, |
| xor_src_cnt, unmap->len, |
| dma_flags); |
| - src_list[0] = tmp; |
| - |
| |
| if (unlikely(!tx)) |
| async_tx_quiesce(&submit->depend_tx); |
| @@ -92,6 +90,7 @@ do_async_xor(struct dma_chan *chan, stru |
| xor_src_cnt, unmap->len, |
| dma_flags); |
| } |
| + src_list[0] = tmp; |
| |
| dma_set_unmap(tx, unmap); |
| async_tx_submit(chan, tx, submit); |