ARM: S3C24XX: DMA: Use valid index when accessing array

The DMA_CH_VALID bit used in the channel index should be masked out before
using it to access the channel array.

Signed-off-by: Ramax Lo <ramaxlo@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
Ramax Lo 2009-12-08 23:42:41 +08:00 committed by Ben Dooks
parent 93b0d8c6b6
commit 947a246279

View File

@ -1403,11 +1403,13 @@ static struct s3c2410_dma_chan *s3c2410_dma_map_channel(int channel)
ord = &dma_order->channels[channel];
for (ch = 0; ch < dma_channels; ch++) {
int tmp;
if (!is_channel_valid(ord->list[ch]))
continue;
if (s3c2410_chans[ord->list[ch]].in_use == 0) {
ch = ord->list[ch] & ~DMA_CH_VALID;
tmp = ord->list[ch] & ~DMA_CH_VALID;
if (s3c2410_chans[tmp].in_use == 0) {
ch = tmp;
goto found;
}
}