summaryrefslogtreecommitdiffstats
path: root/drivers/dma/dw/core.c
diff options
context:
space:
mode:
authorAndy Shevchenko2013-07-15 14:04:41 +0200
committerVinod Koul2013-08-05 06:02:26 +0200
commiteffd5cf6fe71f5efaf59917e7090a3a1f3eabee5 (patch)
treeafd864f870dd66e15a5fc990d66b7ea68111f24b /drivers/dma/dw/core.c
parentdma: dw: return DMA_SUCCESS immediately from device_tx_status() (diff)
downloadkernel-qcow2-linux-effd5cf6fe71f5efaf59917e7090a3a1f3eabee5.tar.gz
kernel-qcow2-linux-effd5cf6fe71f5efaf59917e7090a3a1f3eabee5.tar.xz
kernel-qcow2-linux-effd5cf6fe71f5efaf59917e7090a3a1f3eabee5.zip
dma: dw: return DMA_PAUSED only if cookie status is DMA_IN_PROGRESS
To obey a usual practice let's return DMA_PAUSED status only if dma_cookie_status returned DMA_IN_PROGRESS. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/dw/core.c')
-rw-r--r--drivers/dma/dw/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index 5f2ee5ff8fa4..89eb89f22284 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -1107,7 +1107,7 @@ dwc_tx_status(struct dma_chan *chan,
if (ret != DMA_SUCCESS)
dma_set_residue(txstate, dwc_get_residue(dwc));
- if (dwc->paused)
+ if (dwc->paused && ret == DMA_IN_PROGRESS)
return DMA_PAUSED;
return ret;