dmaengine: jz4740: Fix non-cyclic descriptor completion
We need to make sure to deqeueue the descriptor from the active list before we call vchan_cookie_complete(). Also we need obviously only set chan->desc to NULL after we stopped using it. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
87c9c45110
commit
f498e064e0
|
@ -362,8 +362,9 @@ static void jz4740_dma_chan_irq(struct jz4740_dmaengine_chan *chan)
|
||||||
vchan_cyclic_callback(&chan->desc->vdesc);
|
vchan_cyclic_callback(&chan->desc->vdesc);
|
||||||
} else {
|
} else {
|
||||||
if (chan->next_sg == chan->desc->num_sgs) {
|
if (chan->next_sg == chan->desc->num_sgs) {
|
||||||
chan->desc = NULL;
|
list_del(&chan->desc->vdesc.node);
|
||||||
vchan_cookie_complete(&chan->desc->vdesc);
|
vchan_cookie_complete(&chan->desc->vdesc);
|
||||||
|
chan->desc = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue