diff options
author | LABBE Corentin <clabbe.montjoie@gmail.com> | 2016-08-16 11:50:21 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-08-16 12:26:59 +0100 |
commit | 53d89160753c7d32bb82d3bed980fd3dc3f2538a (patch) | |
tree | 4e1c2734720d918cddd2968831ac7c215a36569e | |
parent | 94b968b5a3e282edbdf21735edbeb93a5a1fa119 (diff) | |
download | op-kernel-dev-53d89160753c7d32bb82d3bed980fd3dc3f2538a.zip op-kernel-dev-53d89160753c7d32bb82d3bed980fd3dc3f2538a.tar.gz |
spi: spi-fsl-dspi: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer
dereference later.
For fixing this problem, we use of_device_get_match_data(), this will
simplify the code a little by using a standard function for
getting the match data.
Reported-by: coverity (CID 1324129)
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/spi/spi-fsl-dspi.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index ab6b9e1..d57baf6 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c @@ -651,8 +651,6 @@ static int dspi_probe(struct platform_device *pdev) struct resource *res; void __iomem *base; int ret = 0, cs_num, bus_num; - const struct of_device_id *of_id = - of_match_device(fsl_dspi_dt_ids, &pdev->dev); master = spi_alloc_master(&pdev->dev, sizeof(struct fsl_dspi)); if (!master) @@ -686,7 +684,7 @@ static int dspi_probe(struct platform_device *pdev) } master->bus_num = bus_num; - dspi->devtype_data = of_id->data; + dspi->devtype_data = of_device_get_match_data(&pdev->dev); if (!dspi->devtype_data) { dev_err(&pdev->dev, "can't get devtype_data\n"); ret = -EFAULT; |