linux/drivers/dma
Timur Tabi 59f647c25a fsldma: remove internal self-test from Freescale Elo DMA driver
The Freescale Elo DMA driver runs an internal self-test before registering
the channels with the DMA engine.  This self-test has a fundemental flaw in
that it calls the DMA engine's callback functions directly before the
registration.  However, the registration initializes some variables that the
callback functions uses, namely the device struct.

The code works today because there are two device structs: the one created
by the DMA engine, and one created by the Open Firmware (OF) subsystem.  The
self-test currently uses the device struct created by OF.  However, in the
future, some of the device structs created by OF will be eliminated.
This means that the self-test will only have access to the device struct
created by the DMA engine.  But this device struct isn't initialized when
the self-test runs, and this causes a kernel panic.

Since there is already a DMA test module (dmatest), the internal self-test
code is not useful anyway.  It is extremely unlikely that the test will fail
in normal usage.  It may have been helpful during development, but not any more.

Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Li Yang <leoli@freescale.com>
Cc: Scott Wood <scottwood@freescale.com>
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2008-09-23 15:55:56 -07:00
..
Kconfig dmaengine: Driver for the Synopsys DesignWare DMA controller 2008-07-08 11:59:42 -07:00
Makefile dmaengine: Driver for the Synopsys DesignWare DMA controller 2008-07-08 11:59:42 -07:00
dmaengine.c dmaengine: Add slave DMA interface 2008-07-08 11:59:35 -07:00
dmatest.c drivers/dma/dmatest.c: switch a GFP_ATOMIC to GFP_KERNEL 2008-09-19 04:16:23 -07:00
dw_dmac.c dmaengine: Driver for the Synopsys DesignWare DMA controller 2008-07-08 11:59:42 -07:00
dw_dmac_regs.h dmaengine: Driver for the Synopsys DesignWare DMA controller 2008-07-08 11:59:42 -07:00
fsldma.c fsldma: remove internal self-test from Freescale Elo DMA driver 2008-09-23 15:55:56 -07:00
fsldma.h fix the broken annotations in fsldma 2008-03-30 14:20:24 -07:00
ioat.c I/OAT: I/OAT version 3.0 support 2008-07-22 17:30:57 -07:00
ioat_dca.c I/OAT: I/OAT version 3.0 support 2008-07-22 17:30:57 -07:00
ioat_dma.c drivers/dma/ioat_dma.c: drop code after return 2008-09-13 20:05:34 -07:00
ioatdma.h I/OAT: I/OAT version 3.0 support 2008-07-22 17:30:57 -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
iop-adma.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
iovlock.c [NET_DMA]: remove unused dma_memcpy_to_kernel_iovec 2007-07-31 02:28:03 -07:00
mv_xor.c [ARM] Move include/asm-arm/plat-orion to arch/arm/plat-orion/include/plat 2008-08-09 13:44:58 +02:00
mv_xor.h dmaengine: DMA engine driver for Marvell XOR engine 2008-07-08 11:58:36 -07:00