mirror of https://gitee.com/openkylin/linux.git
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:
parent
93b0d8c6b6
commit
947a246279
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue