diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2015-03-25 20:26:26 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-03-25 11:54:40 -0700 |
commit | 207cda93f0446c2da5461a37252c7468ddc1c2bc (patch) | |
tree | 04ffdb316fb3a39ee9d60291e985820a5eb3e7b2 | |
parent | 36111da7838e186069ed1ec4fe2fe7510e81da55 (diff) | |
download | op-kernel-dev-207cda93f0446c2da5461a37252c7468ddc1c2bc.zip op-kernel-dev-207cda93f0446c2da5461a37252c7468ddc1c2bc.tar.gz |
spi: dw: fix crash on setup stage
The commit 1a7b7ee72c21 (spi: Ensure that CS line is in non-active state after
spi_setup()) introduces an unconditional call of spi_set_cs() before ->setup().
The dw_spi_set_cs() relies on that fact that ->setup() is already called, but
it doesn't now. This patch fixes the crash by adding an additional check to
dw_spi_set_cs().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/spi/spi-dw.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c index cafac22..8d67d03 100644 --- a/drivers/spi/spi-dw.c +++ b/drivers/spi/spi-dw.c @@ -144,7 +144,7 @@ static void dw_spi_set_cs(struct spi_device *spi, bool enable) struct chip_data *chip = spi_get_ctldata(spi); /* Chip select logic is inverted from spi_set_cs() */ - if (chip->cs_control) + if (chip && chip->cs_control) chip->cs_control(!enable); if (!enable) |