浏览代码

fsl_dma: Fix Channel Start bug in dma_check()

The Channel Start (CS) bit in the Mode Register (MR) should actually be
cleared as the comment in the code suggests.  Previously, CS was being
set, not cleared.

Assuming normal operation of the DMA engine, this change shouldn't have
any real affect.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Peter Tyser 16 年之前
父节点
当前提交
484919cf33
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/dma/fsl_dma.c

+ 1 - 1
drivers/dma/fsl_dma.c

@@ -60,7 +60,7 @@ static uint dma_check(void) {
 	} while (status & FSL_DMA_SR_CB);
 	} while (status & FSL_DMA_SR_CB);
 
 
 	/* clear MR[CS] channel start bit */
 	/* clear MR[CS] channel start bit */
-	out_be32(&dma->mr, in_be32(&dma->mr) & FSL_DMA_MR_CS);
+	out_be32(&dma->mr, in_be32(&dma->mr) & ~FSL_DMA_MR_CS);
 	dma_sync();
 	dma_sync();
 
 
 	if (status != 0)
 	if (status != 0)