mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
dmaengine: edma: Use vchan_terminate_vdesc() instead of desc_free
To avoid race with vchan_complete, use the race free way to terminate running transfer. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
b1faf0f564
commit
174334bcd9
@ -860,11 +860,8 @@ static int edma_terminate_all(struct dma_chan *chan)
|
||||
/* Move the cyclic channel back to default queue */
|
||||
if (!echan->tc && echan->edesc->cyclic)
|
||||
edma_assign_channel_eventq(echan, EVENTQ_DEFAULT);
|
||||
/*
|
||||
* free the running request descriptor
|
||||
* since it is not in any of the vdesc lists
|
||||
*/
|
||||
edma_desc_free(&echan->edesc->vdesc);
|
||||
|
||||
vchan_terminate_vdesc(&echan->edesc->vdesc);
|
||||
echan->edesc = NULL;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user