summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2014-04-23 21:52:01 +0200
committerVinod Koul <vinod.koul@intel.com>2014-05-07 08:20:27 +0200
commit80245216ccbdb4b1dce4db714e0fdc692c81af6d (patch)
tree9d58e0b7371201322d986c520207fb6af157b2e8 /drivers/dma
parentdmaengine: dw: convert to use SET_LATE_SYSTEM_SLEEP_PM_OPS (diff)
downloadlinux-80245216ccbdb4b1dce4db714e0fdc692c81af6d.tar.xz
linux-80245216ccbdb4b1dce4db714e0fdc692c81af6d.zip
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')
-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);