summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-rb4xx.c
diff options
context:
space:
mode:
authorChristopher Hill <ch6574@gmail.com>2020-05-21 20:36:29 +0200
committerMark Brown <broonie@kernel.org>2020-05-22 15:13:16 +0200
commit678e5e1e42d74f77a6e2e9feb6f95ed72a996251 (patch)
treea84078c9e2d620974148cd8a1feef0a55184aba6 /drivers/spi/spi-rb4xx.c
parentspi: bcm2835: Tear down DMA before turning off SPI controller (diff)
downloadlinux-678e5e1e42d74f77a6e2e9feb6f95ed72a996251.tar.xz
linux-678e5e1e42d74f77a6e2e9feb6f95ed72a996251.zip
spi: rb4xx: null pointer bug fix
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>
Diffstat (limited to 'drivers/spi/spi-rb4xx.c')
-rw-r--r--drivers/spi/spi-rb4xx.c10
1 files 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);