Re: [PATCH] dmaengine: edma: Reject slave configs using a buswidth of 8 and larger

From: Vinod Koul
Date: Thu Sep 21 2017 - 13:14:18 EST


On Sun, Sep 17, 2017 at 04:25:10PM +0200, Stefan Brüns wrote:
> The driver would happily accept buswidth of 16/32/64 bytes and program
> garbage to its registers.

Peter?

>
> Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx>
> ---
> drivers/dma/edma.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
> index 3879f80a4815..c944ea339425 100644
> --- a/drivers/dma/edma.c
> +++ b/drivers/dma/edma.c
> @@ -887,8 +887,8 @@ static int edma_slave_config(struct dma_chan *chan,
> {
> struct edma_chan *echan = to_edma_chan(chan);
>
> - if (cfg->src_addr_width == DMA_SLAVE_BUSWIDTH_8_BYTES ||
> - cfg->dst_addr_width == DMA_SLAVE_BUSWIDTH_8_BYTES)
> + if (cfg->src_addr_width >= DMA_SLAVE_BUSWIDTH_8_BYTES ||
> + cfg->dst_addr_width >= DMA_SLAVE_BUSWIDTH_8_BYTES)
> return -EINVAL;
>
> memcpy(&echan->cfg, cfg, sizeof(echan->cfg));
> --
> 2.14.1
>

--
~Vinod