diff options
-rw-r--r-- | drivers/dma/tegra20-apb-dma.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c index 24acd711e032..6ed3f43be41e 100644 --- a/drivers/dma/tegra20-apb-dma.c +++ b/drivers/dma/tegra20-apb-dma.c | |||
@@ -475,8 +475,7 @@ static void tegra_dma_abort_all(struct tegra_dma_channel *tdc) | |||
475 | while (!list_empty(&tdc->pending_sg_req)) { | 475 | while (!list_empty(&tdc->pending_sg_req)) { |
476 | sgreq = list_first_entry(&tdc->pending_sg_req, | 476 | sgreq = list_first_entry(&tdc->pending_sg_req, |
477 | typeof(*sgreq), node); | 477 | typeof(*sgreq), node); |
478 | list_del(&sgreq->node); | 478 | list_move_tail(&sgreq->node, &tdc->free_sg_req); |
479 | list_add_tail(&sgreq->node, &tdc->free_sg_req); | ||
480 | if (sgreq->last_sg) { | 479 | if (sgreq->last_sg) { |
481 | dma_desc = sgreq->dma_desc; | 480 | dma_desc = sgreq->dma_desc; |
482 | dma_desc->dma_status = DMA_ERROR; | 481 | dma_desc->dma_status = DMA_ERROR; |
@@ -570,8 +569,7 @@ static void handle_cont_sngl_cycle_dma_done(struct tegra_dma_channel *tdc, | |||
570 | 569 | ||
571 | /* If not last req then put at end of pending list */ | 570 | /* If not last req then put at end of pending list */ |
572 | if (!list_is_last(&sgreq->node, &tdc->pending_sg_req)) { | 571 | if (!list_is_last(&sgreq->node, &tdc->pending_sg_req)) { |
573 | list_del(&sgreq->node); | 572 | list_move_tail(&sgreq->node, &tdc->pending_sg_req); |
574 | list_add_tail(&sgreq->node, &tdc->pending_sg_req); | ||
575 | sgreq->configured = false; | 573 | sgreq->configured = false; |
576 | st = handle_continuous_head_request(tdc, sgreq, to_terminate); | 574 | st = handle_continuous_head_request(tdc, sgreq, to_terminate); |
577 | if (!st) | 575 | if (!st) |