diff options
Diffstat (limited to 'drivers/dma/sirf-dma.c')
-rw-r--r-- | drivers/dma/sirf-dma.c | 9 |
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 | ||
422 | static struct dma_async_tx_descriptor *sirfsoc_dma_prep_interleaved( | 419 | static struct dma_async_tx_descriptor *sirfsoc_dma_prep_interleaved( |