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 <adrian.hunter@intel.com> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
This commit is contained in:
parent
7f99a4216d
commit
91c1c9e36d
@ -832,7 +832,6 @@ static void intel_mid_dma_free_chan_resources(struct dma_chan *chan)
|
|||||||
/*trying to free ch in use!!!!!*/
|
/*trying to free ch in use!!!!!*/
|
||||||
pr_err("ERR_MDMA: trying to free ch in use\n");
|
pr_err("ERR_MDMA: trying to free ch in use\n");
|
||||||
}
|
}
|
||||||
pm_runtime_put(&mid->pdev->dev);
|
|
||||||
spin_lock_bh(&midc->lock);
|
spin_lock_bh(&midc->lock);
|
||||||
midc->descs_allocated = 0;
|
midc->descs_allocated = 0;
|
||||||
list_for_each_entry_safe(desc, _desc, &midc->active_list, desc_node) {
|
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 */
|
/* 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_BLOCK);
|
||||||
iowrite32(MASK_INTR_REG(midc->ch_id), mid->dma_base + MASK_ERR);
|
iowrite32(MASK_INTR_REG(midc->ch_id), mid->dma_base + MASK_ERR);
|
||||||
|
pm_runtime_put(&mid->pdev->dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user