Skip to contentSkip to conversation

k3dma: off by one in k3_of_dma_simple_xlate()

PATCH New Dan Carpenter 1 participant 1 message Oct 12, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 k3dma: off by one in k3_of_dma_simple_xlate()

The ->chans[] array has ->dma_requests elements so the check should be

Quoted 1 line

= instead of >. The ->chans[] array is allocated in k3_dma_probe()

Fixes 8e6152bc660e ('dmaengine: Add hisilicon k3 DMA engine driver')
drivers/dma/k3dma.c +1 -1
index 7c636c53..f17a8c0 100644
@@ -792,7 +792,7 @@ static struct dma_chan *k3_of_dma_simple_xlate(struct of_phandle_args *dma_spec,
 	struct k3_dma_dev *d = ofdma->of_dma_data;
 	unsigned int request = dma_spec->args[0];
 
-	if (request > d->dma_requests)
+	if (request >= d->dma_requests)
 		return NULL;
 
 	return dma_get_slave_channel(&(d->chans[request].vc.chan));