linux/drivers/dma
Maciej Sosnowski 4f005dbe55 ioatdma: fix "ioatdma frees DMA memory with wrong function"
as reported by Alexander Beregalov <a.beregalov@gmail.com>

ioatdma 0000:00:08.0: DMA-API: device driver frees DMA memory with
wrong function [device address=0x000000007f76f800] [size=2000 bytes]
[map
ped as single] [unmapped as page]

The ioatdma driver was unmapping all regions
(either allocated as page or single) using unmap_page.
This patch lets dma driver recognize if unmap_single or unmap_page should be used.
It introduces two new dma control flags:
DMA_COMPL_SRC_UNMAP_SINGLE and DMA_COMPL_DEST_UNMAP_SINGLE.
They should be set to indicate dma driver to do dma-unmapping as single
(first one for the source, tha latter for the destination).
If respective flag is not set, the driver assumes dma-unmapping as page.

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Tested-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-05-12 14:41:47 -07:00
..
ipu ipu_idmac: Use disable_irq_nosync() from within irq handlers. 2009-05-05 12:16:56 -07:00
dmaengine.c ioatdma: fix "ioatdma frees DMA memory with wrong function" 2009-05-12 14:41:47 -07:00
dmatest.c dmatest: fix max channels handling 2009-04-08 15:08:23 -07:00
dw_dmac_regs.h dw_dmac: add cyclic API to DW DMA driver 2009-04-01 15:42:34 -07:00
dw_dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-04-03 12:13:45 -07:00
fsldma.c dmaengine: initialize tx_list in dma_async_tx_descriptor_init 2009-03-25 09:13:24 -07:00
fsldma.h fsldma: allow Freescale Elo DMA driver to be compiled as a module 2008-09-26 17:00:11 -07:00
ioat_dca.c I/OAT: update driver version and copyright dates 2009-03-04 16:04:40 -07:00
ioat_dma.c ioatdma: fix "ioatdma frees DMA memory with wrong function" 2009-05-12 14:41:47 -07:00
ioat.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ioatdma_hw.h I/OAT: update driver version and copyright dates 2009-03-04 16:04:40 -07:00
ioatdma_registers.h I/OAT: update driver version and copyright dates 2009-03-04 16:04:40 -07:00
ioatdma.h I/OAT: update driver version and copyright dates 2009-03-04 16:04:40 -07:00
iop-adma.c dmaengine: initialize tx_list in dma_async_tx_descriptor_init 2009-03-25 09:13:24 -07:00
iovlock.c [2/4] I/OAT: fix dma_pin_iovec_pages() error handling 2008-11-10 15:00:56 -08:00
Kconfig dmaengine: allow dma support for async_tx to be toggled 2009-03-25 09:13:25 -07:00
Makefile i.MX31: Image Processing Unit DMA and IRQ drivers 2009-01-19 15:36:21 -07:00
mv_xor.c dmaengine: initialize tx_list in dma_async_tx_descriptor_init 2009-03-25 09:13:24 -07:00
mv_xor.h dmaengine: DMA engine driver for Marvell XOR engine 2008-07-08 11:58:36 -07:00