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

From: Richard Zhao
Date: Tue Jan 10 2012 - 02:02:21 EST


Signed-off-by: Richard Zhao <richard.zhao@xxxxxxxxxx>
---
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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/