diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2016-08-21 23:05:30 -0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-08-22 17:32:42 +0100 |
commit | 1c5ea2b4de22434b9da9c33640f47458ba093dea (patch) | |
tree | b830fdc189126a2c2601ddfebdbdec901c66475f /drivers/spi/spi-fsl-dspi.c | |
parent | 53d89160753c7d32bb82d3bed980fd3dc3f2538a (diff) | |
download | lwn-1c5ea2b4de22434b9da9c33640f47458ba093dea.tar.gz lwn-1c5ea2b4de22434b9da9c33640f47458ba093dea.zip |
spi: spi-fsl-dspi: Check clk_prepare_enable() error
clk_prepare_enable() may fail, so we should better check its
return value and propagate it in the case of failure.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-fsl-dspi.c')
-rw-r--r-- | drivers/spi/spi-fsl-dspi.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index d57baf6c2d1e..95d8b929cd52 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c @@ -624,10 +624,13 @@ static int dspi_resume(struct device *dev) { struct spi_master *master = dev_get_drvdata(dev); struct fsl_dspi *dspi = spi_master_get_devdata(master); + int ret; pinctrl_pm_select_default_state(dev); - clk_prepare_enable(dspi->clk); + ret = clk_prepare_enable(dspi->clk); + if (ret) + return ret; spi_master_resume(master); return 0; @@ -726,7 +729,9 @@ static int dspi_probe(struct platform_device *pdev) dev_err(&pdev->dev, "unable to get clock\n"); goto out_master_put; } - clk_prepare_enable(dspi->clk); + ret = clk_prepare_enable(dspi->clk); + if (ret) + goto out_master_put; master->max_speed_hz = clk_get_rate(dspi->clk) / dspi->devtype_data->max_clock_factor; |