aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/sirf-dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dma/sirf-dma.c')
-rw-r--r--drivers/dma/sirf-dma.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/dma/sirf-dma.c b/drivers/dma/sirf-dma.c
index 7bb154a8533..a760d981ece 100644
--- a/drivers/dma/sirf-dma.c
+++ b/drivers/dma/sirf-dma.c
@@ -407,16 +407,13 @@ sirfsoc_dma_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
407{ 407{
408 struct sirfsoc_dma_chan *schan = dma_chan_to_sirfsoc_dma_chan(chan); 408 struct sirfsoc_dma_chan *schan = dma_chan_to_sirfsoc_dma_chan(chan);
409 unsigned long flags; 409 unsigned long flags;
410 dma_cookie_t last_used; 410 enum dma_status ret;
411 dma_cookie_t last_complete;
412 411
413 spin_lock_irqsave(&schan->lock, flags); 412 spin_lock_irqsave(&schan->lock, flags);
414 last_used = schan->chan.cookie; 413 ret = dma_cookie_status(chan, cookie, txstate);
415 last_complete = schan->chan.completed_cookie;
416 spin_unlock_irqrestore(&schan->lock, flags); 414 spin_unlock_irqrestore(&schan->lock, flags);
417 415
418 dma_set_tx_state(txstate, last_complete, last_used, 0); 416 return ret;
419 return dma_async_is_complete(cookie, last_complete, last_used);
420} 417}
421 418
422static struct dma_async_tx_descriptor *sirfsoc_dma_prep_interleaved( 419static struct dma_async_tx_descriptor *sirfsoc_dma_prep_interleaved(