diff options
Diffstat (limited to 'drivers/dma/imx-sdma.c')
-rw-r--r-- | drivers/dma/imx-sdma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 253d68b1d4a2..d16802532111 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -707,7 +707,7 @@ static void sdma_tasklet(unsigned long data) unsigned long flags; spin_lock_irqsave(&sdmac->lock, flags); - if (sdmac->status != DMA_IN_PROGRESS) { + if (sdmac->status != DMA_IN_PROGRESS && sdmac->mode != SDMA_MODE_LOOP) { spin_unlock_irqrestore(&sdmac->lock, flags); return; } @@ -738,7 +738,7 @@ static irqreturn_t sdma_int_handler(int irq, void *dev_id) sdma_update_channel_loop(sdmac); spin_lock_irqsave(&sdmac->lock, flags); - if (sdmac->status == DMA_IN_PROGRESS) + if (sdmac->status == DMA_IN_PROGRESS || sdmac->mode == SDMA_MODE_LOOP) tasklet_schedule(&sdmac->tasklet); spin_unlock_irqrestore(&sdmac->lock, flags); |