ASoC: atmel: ac97c: Handle return value of clk_prepare_enable.
authorArvind Yadav <arvind.yadav.cs@gmail.com>
Tue, 25 Jul 2017 10:15:37 +0000 (15:45 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 26 Jul 2017 12:01:42 +0000 (13:01 +0100)
clk_prepare_enable() can fail here and we must check its return value.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/atmel/ac97c.c

index 9d2c9d9af688030d660b63badbefc3f88e553aa2..52b0522fda2084463905a13cbc86eabf27f6a479 100644 (file)
@@ -783,7 +783,9 @@ static int atmel_ac97c_probe(struct platform_device *pdev)
                dev_dbg(&pdev->dev, "no peripheral clock\n");
                return PTR_ERR(pclk);
        }
-       clk_prepare_enable(pclk);
+       retval = clk_prepare_enable(pclk);
+       if (retval)
+               return retval;
 
        retval = snd_card_new(&pdev->dev, SNDRV_DEFAULT_IDX1,
                              SNDRV_DEFAULT_STR1, THIS_MODULE,
@@ -897,9 +899,9 @@ static int atmel_ac97c_resume(struct device *pdev)
 {
        struct snd_card *card = dev_get_drvdata(pdev);
        struct atmel_ac97c *chip = card->private_data;
+       int ret = clk_prepare_enable(chip->pclk);
 
-       clk_prepare_enable(chip->pclk);
-       return 0;
+       return ret;
 }
 
 static SIMPLE_DEV_PM_OPS(atmel_ac97c_pm, atmel_ac97c_suspend, atmel_ac97c_resume);