Messages in this thread Patch in this message | | | From | Linus Walleij <> | Subject | [PATCH 13/14] DMAENGINE: ste_dma40: don't pause/resume non-executing channels | Date | Mon, 9 Aug 2010 14:09:12 +0200 |
| |
From: Jonas Aaberg <jonas.aberg@stericsson.com>
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> --- 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
| |