diff --git a/[refs] b/[refs] index 944cdefd2c12..c5e50c0439db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8f6fd7f50f7059e5725a36885af52e54b9df96b2 +refs/heads/master: 3ac012af3b1b3a6b373f3a9f19c5362974856c2c diff --git a/trunk/drivers/dma/ste_dma40.c b/trunk/drivers/dma/ste_dma40.c index c9f485e3baeb..05d0a9937617 100644 --- a/trunk/drivers/dma/ste_dma40.c +++ b/trunk/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)