diff options
author | Geert Uytterhoeven <geert+renesas@linux-m68k.org> | 2013-12-23 19:34:23 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-12-24 13:12:04 +0000 |
commit | efd85acb4f2118348fc3a7c831872d5e70c7bec0 (patch) | |
tree | a720b0ba0755f99cccefede249f034b04763b2fa /drivers/spi | |
parent | 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae (diff) | |
download | talos-obmc-linux-efd85acb4f2118348fc3a7c831872d5e70c7bec0.tar.gz talos-obmc-linux-efd85acb4f2118348fc3a7c831872d5e70c7bec0.zip |
spi: rspi: Fix NULL pointer dereference on SH7757
SH7757 doesn't pass platform data, in which case spi-rspi uses default
parameters.
However, commit 5ce0ba88650f2606244a761d92e2b725f4ab3583 ("spi: rcar: add
Renesas QSPI support on RSPI") added a new user of the platform data, but
forgot to check for its validity first, causing a NULL pointer dereference
on SH7757.
Add the missing check to fix this.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi-rspi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c index 58449ad4ad0d..b60862f58534 100644 --- a/drivers/spi/spi-rspi.c +++ b/drivers/spi/spi-rspi.c @@ -958,8 +958,9 @@ static int rspi_probe(struct platform_device *pdev) INIT_WORK(&rspi->ws, rspi_work); init_waitqueue_head(&rspi->wait); - master->num_chipselect = rspi_pd->num_chipselect; - if (!master->num_chipselect) + if (rspi_pd && rspi_pd->num_chipselect) + master->num_chipselect = rspi_pd->num_chipselect; + else master->num_chipselect = 2; /* default */ master->bus_num = pdev->id; |