Explorar o código

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>
Ulf Hansson %!s(int64=11) %!d(string=hai) anos
pai
achega
80245216cc
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/dma/ste_dma40.c

+ 1 - 1
drivers/dma/ste_dma40.c

@@ -1495,8 +1495,8 @@ static int d40_pause(struct d40_chan *d40c)
 	if (!d40c->busy)
 	if (!d40c->busy)
 		return 0;
 		return 0;
 
 
-	pm_runtime_get_sync(d40c->base->dev);
 	spin_lock_irqsave(&d40c->lock, flags);
 	spin_lock_irqsave(&d40c->lock, flags);
+	pm_runtime_get_sync(d40c->base->dev);
 
 
 	res = d40_channel_execute_command(d40c, D40_DMA_SUSPEND_REQ);
 	res = d40_channel_execute_command(d40c, D40_DMA_SUSPEND_REQ);