[PATCH 6/6] dma/imx-sdma: check whether event_id0 < 32 when set event_mask

Richard Zhao richard.zhao at linaro.org
Tue Jan 10 02:01:50 EST 2012


Signed-off-by: Richard Zhao <richard.zhao at linaro.org>
---
 drivers/dma/imx-sdma.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 22fd561..1d5b6ab 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -753,8 +753,11 @@ static int sdma_config_channel(struct sdma_channel *sdmac)
 			if (sdmac->event_id0 > 31)
 				sdmac->watermark_level |= 1 << 30;
 		} else {
-			sdmac->event_mask0 = 1 << sdmac->event_id0;
-			sdmac->event_mask1 = 1 << (sdmac->event_id0 - 32);
+			if (sdmac->event_id0 < 32)
+				sdmac->event_mask0 = 1 << sdmac->event_id0;
+			else
+				sdmac->event_mask1 =
+						1 << (sdmac->event_id0 - 32);
 		}
 		/* Watermark Level */
 		sdmac->watermark_level |= sdmac->watermark_level;
-- 
1.7.5.4





More information about the linux-arm-kernel mailing list