diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2016-08-21 22:05:30 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-08-22 12:32:42 -0400 |
commit | 1c5ea2b4de22434b9da9c33640f47458ba093dea (patch) | |
tree | b830fdc189126a2c2601ddfebdbdec901c66475f /drivers/spi/spi-fsl-dspi.c | |
parent | 53d89160753c7d32bb82d3bed980fd3dc3f2538a (diff) |
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) | |||
624 | { | 624 | { |
625 | struct spi_master *master = dev_get_drvdata(dev); | 625 | struct spi_master *master = dev_get_drvdata(dev); |
626 | struct fsl_dspi *dspi = spi_master_get_devdata(master); | 626 | struct fsl_dspi *dspi = spi_master_get_devdata(master); |
627 | int ret; | ||
627 | 628 | ||
628 | pinctrl_pm_select_default_state(dev); | 629 | pinctrl_pm_select_default_state(dev); |
629 | 630 | ||
630 | clk_prepare_enable(dspi->clk); | 631 | ret = clk_prepare_enable(dspi->clk); |
632 | if (ret) | ||
633 | return ret; | ||
631 | spi_master_resume(master); | 634 | spi_master_resume(master); |
632 | 635 | ||
633 | return 0; | 636 | return 0; |
@@ -726,7 +729,9 @@ static int dspi_probe(struct platform_device *pdev) | |||
726 | dev_err(&pdev->dev, "unable to get clock\n"); | 729 | dev_err(&pdev->dev, "unable to get clock\n"); |
727 | goto out_master_put; | 730 | goto out_master_put; |
728 | } | 731 | } |
729 | clk_prepare_enable(dspi->clk); | 732 | ret = clk_prepare_enable(dspi->clk); |
733 | if (ret) | ||
734 | goto out_master_put; | ||
730 | 735 | ||
731 | master->max_speed_hz = | 736 | master->max_speed_hz = |
732 | clk_get_rate(dspi->clk) / dspi->devtype_data->max_clock_factor; | 737 | clk_get_rate(dspi->clk) / dspi->devtype_data->max_clock_factor; |