dmaengine: k3dma: fix double free of descriptor
authorAntonio Borneo <borneo.antonio@gmail.com>
Tue, 1 Aug 2017 20:09:26 +0000 (22:09 +0200)
committerVinod Koul <vinod.koul@intel.com>
Fri, 25 Aug 2017 06:45:40 +0000 (12:15 +0530)
commit132b473cd594183dbd06a00bcee079477f6a7c9c
treebc4172153468c81a5e720ca9c709da93348e60f7
parent626c4e85a107a2dbf9b482371ada8fee39680ce2
dmaengine: k3dma: fix double free of descriptor

Commit 36387a2b1f62b5c087c5fe6f0f7b23b94f722ad7 ("k3dma: Fix
memory handling in preparation for cyclic mode") adds code
to free the descriptor in ds_done.

In cyclic mode, ds_done is never used and it's always NULL,
so the added code is not executed.

In non-cyclic mode, ds_done is used as a flag: when not NULL
it signals that the descriptor has been consumed. No need to
free it because it would be free by vchan_complete().

The fix takes back the code changed by the commit above:
- remove the free on the descriptor;
- initialize ds_done to NULL for the next run.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/k3dma.c