OSDN Git Service

spi: rb4xx: null pointer bug fix
authorChristopher Hill <ch6574@gmail.com>
Thu, 21 May 2020 18:36:29 +0000 (14:36 -0400)
committerMark Brown <broonie@kernel.org>
Fri, 22 May 2020 13:13:16 +0000 (14:13 +0100)
This patch fixes a null pointer bug in the spi driver spi-rb4xx.c by
moving the private data initialization to earlier in probe

Signed-off-by: Christopher Hill <ch6574@gmail.com>
Link: https://lore.kernel.org/r/20200521183631.37806-1-ch6574@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-rb4xx.c

index 4c9620e..17e1a77 100644 (file)
@@ -158,6 +158,11 @@ static int rb4xx_spi_probe(struct platform_device *pdev)
        master->transfer_one = rb4xx_transfer_one;
        master->set_cs = rb4xx_set_cs;
 
+       rbspi = spi_master_get_devdata(master);
+       rbspi->base = spi_base;
+       rbspi->clk = ahb_clk;
+       platform_set_drvdata(pdev, rbspi);
+
        err = devm_spi_register_master(&pdev->dev, master);
        if (err) {
                dev_err(&pdev->dev, "failed to register SPI master\n");
@@ -168,11 +173,6 @@ static int rb4xx_spi_probe(struct platform_device *pdev)
        if (err)
                return err;
 
-       rbspi = spi_master_get_devdata(master);
-       rbspi->base = spi_base;
-       rbspi->clk = ahb_clk;
-       platform_set_drvdata(pdev, rbspi);
-
        /* Enable SPI */
        rb4xx_write(rbspi, AR71XX_SPI_REG_FS, AR71XX_SPI_FS_GPIO);