Re: [PATCH] dmaengine: pl330: use lock of dma channel in pl330_update

From: Vinod Koul
Date: Fri Sep 09 2016 - 07:40:30 EST


On Fri, Aug 19, 2016 at 09:03:48PM +0800, Hsin-Yu Chao wrote:
> The content of pl330_thread could be modified in pl330_update
> without protection by the lock from the dma channel who currently
> holding this thread. This could cause bug to the calculation of
> in pl330_tx_status, if the running request has just been done and
> moving to next request while calculating the residual number, an
> invalid number from BUSY descriptor could be added up.
> ---
> drivers/dma/pl330.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
> index 31e9c49..2449cb7 100644
> --- a/drivers/dma/pl330.c
> +++ b/drivers/dma/pl330.c
> @@ -1564,6 +1564,19 @@ static void pl330_dotask(unsigned long data)
> return;
> }
>
> +static struct dma_pl330_chan *get_dma_channel(struct pl330_dmac *pl330,
> + struct pl330_thread *thrd)
> +{
> + struct dma_pl330_chan *pch;
> + int i;

empty line here please

--
~Vinod