dmaengine: sirf: off by one in of_dma_sirfsoc_xlate()
Subsystems (2)
PATCH 1/1 dmaengine: sirf: off by one in of_dma_sirfsoc_xlate()
The ">" here should be ">=" or we are one step beyond the end of the sdma->channels[] array.
Fixes 2e041c94628c ('dmaengine: sirf: enable generic dt binding for dma channels')
Signed-off-by Dan Carpenter <[email protected]>
drivers/dma/sirf-dma.c +1 -1
@@ -666,7 +666,7 @@ static struct dma_chan *of_dma_sirfsoc_xlate(struct of_phandle_args *dma_spec,struct sirfsoc_dma *sdma = ofdma->of_dma_data;unsigned int request = dma_spec->args[0 ]; -if (request >SIRFSOC_DMA_CHANNELS ) +if (request >=SIRFSOC_DMA_CHANNELS )return NULL ;return dma_get_slave_channel (&sdma->channels[request].chan);
2014-04-03 15:29 GMT+08:00 Dan Carpenter <[email protected]>:
Quoted 6 lines
The ">" here should be ">=" or we are one step beyond the end of the sdma->channels[] array.
Fixes 2e041c94628c ('dmaengine: sirf: enable generic dt binding for dma channels')Signed-off-by Dan Carpenter <[email protected]>
Acked-by Barry Song <[email protected]>
Quoted 13 lines
drivers/dma/sirf-dma.c +1
-1@@ -666,7 +666,7 @@ static struct dma_chan *of_dma_sirfsoc_xlate(struct of_phandle_args *dma_spec,struct sirfsoc_dma *sdma = ofdma->of_dma_data;unsigned int request = dma_spec->args[0 ]; -if (request >SIRFSOC_DMA_CHANNELS ) +if (request >=SIRFSOC_DMA_CHANNELS )return NULL ;return dma_get_slave_channel (&sdma->channels[request].chan);
Vinod Koul
AppliedQuoted 5 lines · Dan Carpenter
The ">" here should be ">=" or we are one step beyond the end of the sdma->channels[] array.
Fixes 2e041c94628c ('dmaengine: sirf: enable generic dt binding for dma channels')Signed-off-by Dan Carpenter <[email protected]>
Applied, thanks
Signature · 1 line
~Vinod