spi/omap2_mcspi: Check params before dereference or use
Check spi->chip_select for range before use. Signed-off-by: Scott Ellis <scott@jumpnowtek.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
parent
4743a0f88c
commit
99f1a43f43
|
@ -834,7 +834,6 @@ static void omap2_mcspi_cleanup(struct spi_device *spi)
|
|||
struct omap2_mcspi_cs *cs;
|
||||
|
||||
mcspi = spi_master_get_devdata(spi->master);
|
||||
mcspi_dma = &mcspi->dma_channels[spi->chip_select];
|
||||
|
||||
if (spi->controller_state) {
|
||||
/* Unlink controller state from context save list */
|
||||
|
@ -844,13 +843,17 @@ static void omap2_mcspi_cleanup(struct spi_device *spi)
|
|||
kfree(spi->controller_state);
|
||||
}
|
||||
|
||||
if (mcspi_dma->dma_rx_channel != -1) {
|
||||
omap_free_dma(mcspi_dma->dma_rx_channel);
|
||||
mcspi_dma->dma_rx_channel = -1;
|
||||
}
|
||||
if (mcspi_dma->dma_tx_channel != -1) {
|
||||
omap_free_dma(mcspi_dma->dma_tx_channel);
|
||||
mcspi_dma->dma_tx_channel = -1;
|
||||
if (spi->chip_select < spi->master->num_chipselect) {
|
||||
mcspi_dma = &mcspi->dma_channels[spi->chip_select];
|
||||
|
||||
if (mcspi_dma->dma_rx_channel != -1) {
|
||||
omap_free_dma(mcspi_dma->dma_rx_channel);
|
||||
mcspi_dma->dma_rx_channel = -1;
|
||||
}
|
||||
if (mcspi_dma->dma_tx_channel != -1) {
|
||||
omap_free_dma(mcspi_dma->dma_tx_channel);
|
||||
mcspi_dma->dma_tx_channel = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue