Browse Source

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 năm trước cách đây
mục cha
commit
484919cf33
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  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);
 
 	/* 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();
 
 	if (status != 0)