From: Adrian Hunter Date: Tue, 31 Jan 2012 10:49:00 +0000 (+0200) Subject: dmaengine: intel_mid_dma: move pm_runtime_put X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=91c1c9e36d9450974c9f04cf961d0b45aafca507;p=openwrt%2Fstaging%2Fblogic.git dmaengine: intel_mid_dma: move pm_runtime_put Move pm_runtime_put() to the end of intel_mid_dma_free_chan_resources() because there is no sense in allowing runtime suspend while the driver is still accessing the device. Signed-off-by: Adrian Hunter Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/intel_mid_dma.c b/drivers/dma/intel_mid_dma.c index 512e2ab3febb..923476d74a5d 100644 --- a/drivers/dma/intel_mid_dma.c +++ b/drivers/dma/intel_mid_dma.c @@ -832,7 +832,6 @@ static void intel_mid_dma_free_chan_resources(struct dma_chan *chan) /*trying to free ch in use!!!!!*/ pr_err("ERR_MDMA: trying to free ch in use\n"); } - pm_runtime_put(&mid->pdev->dev); spin_lock_bh(&midc->lock); midc->descs_allocated = 0; list_for_each_entry_safe(desc, _desc, &midc->active_list, desc_node) { @@ -853,6 +852,7 @@ static void intel_mid_dma_free_chan_resources(struct dma_chan *chan) /* Disable CH interrupts */ iowrite32(MASK_INTR_REG(midc->ch_id), mid->dma_base + MASK_BLOCK); iowrite32(MASK_INTR_REG(midc->ch_id), mid->dma_base + MASK_ERR); + pm_runtime_put(&mid->pdev->dev); } /**