[PATCH 3/4] fsldma: remove DMA_SLAVE support
dan.j.williams at intel.com
Thu Sep 30 07:52:16 EST 2010
On Mon, Sep 27, 2010 at 3:57 PM, Ira W. Snyder <iws at ovro.caltech.edu> wrote:
> Now that the generic DMAEngine API has support for scatterlist to
> scatterlist copying, this implementation of the DMA_SLAVE API is no
> longer necessary.
> In order to let device_control() continue to function, a stub
> device_prep_slave_sg() function is provided. This allows custom device
> configuration, such as enabling external control.
> + case DMA_SLAVE_CONFIG:
> + cfg = (struct fsldma_slave_config *)arg;
Now that I actually see someone trying to use the recommended
extension model it comes across as unsafe, what guarantees that arg is
pointing to a fsldma_slave_config. At at minimum you could ensure
that this channel has been claimed for private usage which loosely
implies that the client knows that it is talking to an fsldma channel.
Even safer is to just assign you a one-off dma_ctrl_cmd
(FSLDMA_EXTERNAL_START) for this purpose. Otherwise this and the
other patches look good.
More information about the Linuxppc-dev