From: Ulf Hansson Date: Wed, 23 Apr 2014 19:52:01 +0000 (+0200) Subject: dma: ste_dma40: Maintain spinlock order while handling pause X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=80245216ccbdb4b1dce4db714e0fdc692c81af6d;p=linux-beck.git 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 Acked-by: Linus Walleij Signed-off-by: Vinod Koul --- 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);