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 <[email protected]>
---
 drivers/spi/spi-rb4xx.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/spi/spi-rb4xx.c b/drivers/spi/spi-rb4xx.c
index 4c9620e0d18c..17e1a77dc132 100644
--- a/drivers/spi/spi-rb4xx.c
+++ b/drivers/spi/spi-rb4xx.c
@@ -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);
 
-- 
2.25.1

Reply via email to