summaryrefslogtreecommitdiff
path: root/drivers/dma/ste_dma40.c
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2014-04-23 23:52:01 +0400
committerVinod Koul <vinod.koul@intel.com>2014-05-07 10:20:27 +0400
commit80245216ccbdb4b1dce4db714e0fdc692c81af6d (patch)
tree9d58e0b7371201322d986c520207fb6af157b2e8 /drivers/dma/ste_dma40.c
parentc31b6ae1b4a75680765ac66d80e2e107e8bf05a0 (diff)
downloadlinux-80245216ccbdb4b1dce4db714e0fdc692c81af6d.tar.xz
dma: ste_dma40: Maintain spinlock order while handling pause
The runtime PM resume callback needs to be executed while holding the spinlock, make sure to maintain this for the pause operation as well. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/ste_dma40.c')
-rw-r--r--drivers/dma/ste_dma40.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index bf18c786ed40..6e97cf6931f1 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -1495,8 +1495,8 @@ static int d40_pause(struct d40_chan *d40c)
if (!d40c->busy)
return 0;
- pm_runtime_get_sync(d40c->base->dev);
spin_lock_irqsave(&d40c->lock, flags);
+ pm_runtime_get_sync(d40c->base->dev);
res = d40_channel_execute_command(d40c, D40_DMA_SUSPEND_REQ);