Re: [PATCH 01/12] i2c: qup: fixed releasing dma without flush operation completion

From: Andy Gross
Date: Tue Feb 27 2018 - 17:24:52 EST


On Sat, Feb 03, 2018 at 01:28:06PM +0530, Abhishek Sahu wrote:
> The QUP BSLP BAM generates the following error sometimes if the
> current I2C DMA transfer fails and the flush operation has been
> scheduled
>
> âbam-dma-engine 7884000.dma: Cannot free busy channelâ
>
> If any I2C error comes during BAM DMA transfer, then the QUP I2C
> interrupt will be generated and the flush operation will be
> carried out to make i2c consume all scheduled DMA transfer.
> Currently, the same completion structure is being used for BAM
> transfer which has already completed without reinit. It will make
> flush operation wait_for_completion_timeout completed immediately
> and will proceed for freeing the DMA resources where the
> descriptors are still in process.
>
> Signed-off-by: Abhishek Sahu <absahu@xxxxxxxxxxxxxx>

Reviewed-by: Andy Gross <andy.gross@xxxxxxxxxx>