Commit 050ae645 authored by Federico Vaga's avatar Federico Vaga

sw:drv: invoke tx->callback only if really aborted

Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent 10f41750
......@@ -651,12 +651,7 @@ static int gn412x_dma_terminate_all(struct dma_chan *chan)
}
spin_unlock_irqrestore(&gn412x_dma_chan->lock, flags);
if (!gn412x_dma_is_abort(gn412x_dma)) {
dev_err(&gn412x_dma->pdev->dev,
"Failed to abort DMA transfer\n");
return -EINVAL;
}
if (gn412x_dma_is_abort(gn412x_dma)) {
tx = to_gn412x_dma_chan(chan)->tx_curr;
if (tx && tx->tx.callback_result) {
const struct dmaengine_result result = {
......@@ -666,6 +661,8 @@ static int gn412x_dma_terminate_all(struct dma_chan *chan)
tx->tx.callback_result(tx->tx.callback_param, &result);
}
}
gn412x_dma_tx_free(tx);
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment