Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 947a2462 authored by Ramax Lo's avatar Ramax Lo Committed by Ben Dooks
Browse files

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: default avatarRamax Lo <ramaxlo@gmail.com>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent 93b0d8c6
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
			}
		}