On Tue, Sep 23, 2008 at 1:29 PM, Timur Tabi <[EMAIL PROTECTED]> wrote:
> 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.
>
> Signed-off-by: Timur Tabi <[EMAIL PROTECTED]>
> ---
>
> This patch is for 2.6.28.

Applied to the 'next' [1] branch.

Thanks,
Dan

[1] 
http://git.kernel.org/?p=linux/kernel/git/djbw/async_tx.git;a=shortlog;h=next
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to