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>
This commit is contained in:
parent
94b968b5a3
commit
53d8916075
|
@ -651,8 +651,6 @@ static int dspi_probe(struct platform_device *pdev)
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
int ret = 0, cs_num, bus_num;
|
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));
|
master = spi_alloc_master(&pdev->dev, sizeof(struct fsl_dspi));
|
||||||
if (!master)
|
if (!master)
|
||||||
|
@ -686,7 +684,7 @@ static int dspi_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
master->bus_num = bus_num;
|
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) {
|
if (!dspi->devtype_data) {
|
||||||
dev_err(&pdev->dev, "can't get devtype_data\n");
|
dev_err(&pdev->dev, "can't get devtype_data\n");
|
||||||
ret = -EFAULT;
|
ret = -EFAULT;
|
||||||
|
|
Loading…
Reference in New Issue