]> git.baikalelectronics.ru Git - kernel.git/commit
async_tx: ensure the xor destination buffer remains dma-mapped
authorDan Williams <dan.j.williams@intel.com>
Thu, 17 Jul 2008 02:44:56 +0000 (19:44 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 18 Jul 2008 00:59:55 +0000 (17:59 -0700)
commit84b189b79120c8ecb427b908eef6dabbeb42718d
treeac3cd7c249735772df8c08b1d803563bad854527
parent7482e345c25511fc5a67563418d9eefe1d211ed9
async_tx: ensure the xor destination buffer remains dma-mapped

When the number of source buffers for an xor operation exceeds the hardware
channel maximum async_xor creates a chain of dependent operations.  The result
of one operation is reused as an input to the next to continue the xor
calculation.  The destination buffer should remain mapped for the duration of
the entire chain.  To provide this guarantee the code must no longer be allowed
to fallback to the synchronous path as this will preclude the buffer from being
unmapped, i.e. the dma-driver will potentially miss the descriptor with
!DMA_COMPL_SKIP_DEST_UNMAP.

Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
crypto/async_tx/async_xor.c