[PATCH 13/14] DMAENGINE: ste_dma40: don't pause/resume non-executing channels

From: Linus Walleij
Date: Mon Aug 09 2010 - 08:09:53 EST


From: Jonas Aaberg <jonas.aberg@xxxxxxxxxxxxxx>

There is no point in pausing what isn't running.

Signed-off-by: Jonas Aaberg <jonas.aberg@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
---
drivers/dma/ste_dma40.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

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 @@ 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)
--
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/