DMAENGINE: ste_dma40: don't pause/resume non-executing channels
There is no point in pausing what isn't running.
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index c9f485e..05d0a99 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -768,6 +768,9 @@
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 @@
int res = 0;
unsigned long flags;
+ if (!d40c->busy)
+ return 0;
+
spin_lock_irqsave(&d40c->lock, flags);
if (d40c->base->rev == 0)