mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 08:44:14 +08:00
dmaengine: fix xor sources continuation
the partial xor result must be kept until the next tx is generated. Cc: <stable@vger.kernel.org> Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
fbeec99ad5
commit
87cea76384
@ -78,8 +78,6 @@ do_async_xor(struct dma_chan *chan, struct dmaengine_unmap_data *unmap,
|
|||||||
tx = dma->device_prep_dma_xor(chan, dma_dest, src_list,
|
tx = dma->device_prep_dma_xor(chan, dma_dest, src_list,
|
||||||
xor_src_cnt, unmap->len,
|
xor_src_cnt, unmap->len,
|
||||||
dma_flags);
|
dma_flags);
|
||||||
src_list[0] = tmp;
|
|
||||||
|
|
||||||
|
|
||||||
if (unlikely(!tx))
|
if (unlikely(!tx))
|
||||||
async_tx_quiesce(&submit->depend_tx);
|
async_tx_quiesce(&submit->depend_tx);
|
||||||
@ -92,6 +90,7 @@ do_async_xor(struct dma_chan *chan, struct dmaengine_unmap_data *unmap,
|
|||||||
xor_src_cnt, unmap->len,
|
xor_src_cnt, unmap->len,
|
||||||
dma_flags);
|
dma_flags);
|
||||||
}
|
}
|
||||||
|
src_list[0] = tmp;
|
||||||
|
|
||||||
dma_set_unmap(tx, unmap);
|
dma_set_unmap(tx, unmap);
|
||||||
async_tx_submit(chan, tx, submit);
|
async_tx_submit(chan, tx, submit);
|
||||||
|
Loading…
Reference in New Issue
Block a user