spi: spi-fsl-dspi: Check clk_prepare_enable() error
authorFabio Estevam <fabio.estevam@nxp.com>
Mon, 22 Aug 2016 02:05:30 +0000 (23:05 -0300)
committerMark Brown <broonie@kernel.org>
Mon, 22 Aug 2016 16:32:42 +0000 (17:32 +0100)
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>
drivers/spi/spi-fsl-dspi.c

index d57baf6c2d1ef8545c017eafb5560e439c22ba43..95d8b929cd52f635a8cd5f5bf531aad02563adb9 100644 (file)
@@ -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;