mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
spi/omap2_mcspi: fix NULL pointer dereference
Check spi->controller_state before dereferencing. Shows up NULL here when using spi_alloc_device()/spi_add_device() and spi_add_device() fails before spi_setup(). Calling spi_dev_put() on the leftover spi_device results in the error. Signed-off-by: Scott Ellis <[email protected]> Signed-off-by: Grant Likely <[email protected]>
This commit is contained in:
parent
07081fd858
commit
5e7749436d
1 changed files with 6 additions and 4 deletions
|
|
@ -751,11 +751,13 @@ static void omap2_mcspi_cleanup(struct spi_device *spi)
|
|||
mcspi = spi_master_get_devdata(spi->master);
|
||||
mcspi_dma = &mcspi->dma_channels[spi->chip_select];
|
||||
|
||||
/* Unlink controller state from context save list */
|
||||
cs = spi->controller_state;
|
||||
list_del(&cs->node);
|
||||
if (spi->controller_state) {
|
||||
/* Unlink controller state from context save list */
|
||||
cs = spi->controller_state;
|
||||
list_del(&cs->node);
|
||||
|
||||
kfree(spi->controller_state);
|
||||
kfree(spi->controller_state);
|
||||
}
|
||||
|
||||
if (mcspi_dma->dma_rx_channel != -1) {
|
||||
omap_free_dma(mcspi_dma->dma_rx_channel);
|
||||
|
|
|
|||
Loading…
Reference in a new issue