DMAENGINE: ste_dma40: don't pause/resume non-executing channels
[pandora-kernel.git] / drivers / dma / ste_dma40.c
index c9f485e..05d0a99 100644 (file)
@@ -768,6 +768,9 @@ static int d40_pause(struct dma_chan *chan)
        int res = 0;
        unsigned long flags;
 
+       if (!d40c->busy)
+               return 0;
+
        spin_lock_irqsave(&d40c->lock, flags);
 
        res = d40_channel_execute_command(d40c, D40_DMA_SUSPEND_REQ);
@@ -792,6 +795,9 @@ static int d40_resume(struct dma_chan *chan)
        int res = 0;
        unsigned long flags;
 
+       if (!d40c->busy)
+               return 0;
+
        spin_lock_irqsave(&d40c->lock, flags);
 
        if (d40c->base->rev == 0)