diff options
author | Mike Frysinger <vapier.adi@gmail.com> | 2009-04-06 22:00:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-07 11:31:06 -0400 |
commit | e7d02e3c9577f070bc77354763bed7f24713dc53 (patch) | |
tree | 7c6d62e9e9725c9147825ce131f831d82cff053f /drivers/spi | |
parent | 138f97cd06deddd53ad496ac1656917a7b486d24 (diff) |
Blackfin SPI Driver: fix NULL pointer crash
Fix NULL pointer crash when cleaning up from invalid platform resources
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi_bfin5xx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c index d1ff34f3f6bd..53819c961a31 100644 --- a/drivers/spi/spi_bfin5xx.c +++ b/drivers/spi/spi_bfin5xx.c | |||
@@ -1178,6 +1178,9 @@ static void bfin_spi_cleanup(struct spi_device *spi) | |||
1178 | { | 1178 | { |
1179 | struct chip_data *chip = spi_get_ctldata(spi); | 1179 | struct chip_data *chip = spi_get_ctldata(spi); |
1180 | 1180 | ||
1181 | if (!chip) | ||
1182 | return; | ||
1183 | |||
1181 | if ((chip->chip_select_num > 0) | 1184 | if ((chip->chip_select_num > 0) |
1182 | && (chip->chip_select_num <= spi->master->num_chipselect)) | 1185 | && (chip->chip_select_num <= spi->master->num_chipselect)) |
1183 | peripheral_free(ssel[spi->master->bus_num] | 1186 | peripheral_free(ssel[spi->master->bus_num] |