dmaengine: sirf: fix a typo in moving running dma_desc to active queue

list_move_tail(&schan->queued, &schan->active) makes the list_empty(schan->queued)
undefined, we either should change it to:
list_move_tail(schan->queued.next, &schan->active)
or
list_move_tail(&sdesc->node, &schan->active)

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
This commit is contained in:
Barry Song 2012-09-27 16:36:10 +08:00 committed by Vinod Koul
parent 5997e089e4
commit 26fd12209c

View File

@ -109,7 +109,7 @@ static void sirfsoc_dma_execute(struct sirfsoc_dma_chan *schan)
sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc, sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc,
node); node);
/* Move the first queued descriptor to active list */ /* Move the first queued descriptor to active list */
list_move_tail(&schan->queued, &schan->active); list_move_tail(&sdesc->node, &schan->active);
/* Start the DMA transfer */ /* Start the DMA transfer */
writel_relaxed(sdesc->width, sdma->base + SIRFSOC_DMA_WIDTH_0 + writel_relaxed(sdesc->width, sdma->base + SIRFSOC_DMA_WIDTH_0 +