linux/drivers/dma
Yuri Tikhonov dd59b8537f dmaengine: fix dependency chaining
In dmaengine we track the dependencies between the descriptors
using the 'next' pointers of the structure. These pointers are
set to NULL as soon as the corresponding descriptor has been
submitted to the channel (in dma_run_dependencies()).

But, the first 'next' in chain is still remaining set, regardless
the fact, that tx->next has been already submitted. This may lead to
multiple submissions of the same descriptor. This patch fixes this.

Actually, some previous implementation of the xxx_run_dependencies()
function already had this fix in place. The fdb..0eaf3 commit, beside the
correct things, broke this.

Cc: <stable@kernel.org>
Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-12 15:19:29 -07:00
..
dmaengine.c dmaengine: fix dependency chaining 2009-01-12 15:19:29 -07:00
dmatest.c dmaengine: add a release for dma class devices and dependent infrastructure 2009-01-06 11:38:21 -07:00
dw_dmac_regs.h dmaengine: Driver for the Synopsys DesignWare DMA controller 2008-07-08 11:59:42 -07:00
dw_dmac.c dmaengine: add a release for dma class devices and dependent infrastructure 2009-01-06 11:38:21 -07:00
fsldma.c dmaengine: add a release for dma class devices and dependent infrastructure 2009-01-06 11:38:21 -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: I/OAT version 3.0 support 2008-07-22 17:30:57 -07:00
ioat_dma.c ioat: fix self test for multi-channel case 2009-01-06 11:38:22 -07:00
ioat.c ioat: do not perform removal actions at shutdown 2009-01-06 11:38:20 -07:00
ioatdma_hw.h I/OAT: I/OAT version 3.0 support 2008-07-22 17:30:57 -07:00
ioatdma_registers.h I/OAT: I/OAT version 3.0 support 2008-07-22 17:30:57 -07:00
ioatdma.h I/OAT: I/OAT version 3.0 support 2008-07-22 17:30:57 -07:00
iop-adma.c iop-adma: enable module removal 2009-01-06 11:38:20 -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: remove dependency on async_tx 2009-01-05 18:10:19 -07:00
Makefile dmaengine: Driver for the Synopsys DesignWare DMA controller 2008-07-08 11:59:42 -07:00
mv_xor.c dmaengine: remove 'bigref' infrastructure 2009-01-06 11:38:18 -07:00
mv_xor.h dmaengine: DMA engine driver for Marvell XOR engine 2008-07-08 11:58:36 -07:00