spi: orion: set devdata properly as it is being used later
authorMuhammad Usama Anjum <musamaanjum@gmail.com>
Thu, 8 Apr 2021 19:57:18 +0000 (00:57 +0500)
committerMark Brown <broonie@kernel.org>
Fri, 9 Apr 2021 12:44:02 +0000 (13:44 +0100)
If device_get_match_data returns NULL, devdata isn't being updated
properly. It is being used later in the function. Both devdata and
spi->devdata should be updated to avoid NULL pointer dereference.

Addresses-Coverity: ("NULL pointer dereference")
Fixes: 0e6521f13c2 ("spi: orion: Use device_get_match_data() helper")
Signed-off-by: Muhammad Usama Anjum <musamaanjum@gmail.com>
Link: https://lore.kernel.org/r/20210408195718.GA3075166@LEGION
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-orion.c

index d02c5c9..34b31ab 100644 (file)
@@ -676,7 +676,8 @@ static int orion_spi_probe(struct platform_device *pdev)
        spi->dev = &pdev->dev;
 
        devdata = device_get_match_data(&pdev->dev);
-       spi->devdata = devdata ? devdata : &orion_spi_dev_data;
+       devdata = devdata ? devdata : &orion_spi_dev_data;
+       spi->devdata = devdata;
 
        spi->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(spi->clk)) {