mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 11:32:04 +00:00
spi: sh-sci: Prevent NULL pointer dereference
If sp->info is NULL, we will hit NULL pointer dereference in probe() while setting bus_num and num_chipselect for master: sp->bitbang.master->bus_num = sp->info->bus_num; sp->bitbang.master->num_chipselect = sp->info->num_chipselect; Thus add NULL test for sp->info in probe() to prevent NULL pointer dereference. Signed-off-by: Axel Lin <axel.lin@ingics.com> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
38dbfb59d1
commit
ed8eb250d7
@ -109,7 +109,7 @@ static void sh_sci_spi_chipselect(struct spi_device *dev, int value)
|
||||
{
|
||||
struct sh_sci_spi *sp = spi_master_get_devdata(dev->master);
|
||||
|
||||
if (sp->info && sp->info->chip_select)
|
||||
if (sp->info->chip_select)
|
||||
(sp->info->chip_select)(sp->info, dev->chip_select, value);
|
||||
}
|
||||
|
||||
@ -131,6 +131,11 @@ static int sh_sci_spi_probe(struct platform_device *dev)
|
||||
|
||||
platform_set_drvdata(dev, sp);
|
||||
sp->info = dev_get_platdata(&dev->dev);
|
||||
if (!sp->info) {
|
||||
dev_err(&dev->dev, "platform data is missing\n");
|
||||
ret = -ENOENT;
|
||||
goto err1;
|
||||
}
|
||||
|
||||
/* setup spi bitbang adaptor */
|
||||
sp->bitbang.master = master;
|
||||
|
Loading…
Reference in New Issue
Block a user