Re: [PATCH] fsldma: remove internal self-test from Freescale Elo DMA driver

From: Dan Williams
Date: Wed Sep 24 2008 - 12:58:19 EST


On Tue, Sep 23, 2008 at 1:29 PM, Timur Tabi <timur@xxxxxxxxxxxxx> 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 <timur@xxxxxxxxxxxxx>
> ---
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/