diff options
author | Christophe Jaillet <christophe.jaillet@wanadoo.fr> | 2017-08-31 06:40:42 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-08-31 11:52:29 +0100 |
commit | 0515760fa1159ffa863c7b2b73466aaff7d11a80 (patch) | |
tree | 71d21dbe2fa011a98a2ebfe17fe608b527abd7f4 /sound/atmel/ac97c.c | |
parent | acd617a461ed811894f4318c9b952fa002f3be21 (diff) | |
download | linux-0515760fa1159ffa863c7b2b73466aaff7d11a80.tar.gz linux-0515760fa1159ffa863c7b2b73466aaff7d11a80.tar.bz2 linux-0515760fa1159ffa863c7b2b73466aaff7d11a80.zip |
ALSA: ac97c: Fix an error handling path in 'atmel_ac97c_probe()'
If 'clk_prepare_enable()' fails, we must release some resources before
returning. Add a new label in the existing error handling path and 'goto'
there.
Fixes: 260ea95cc027 ("ASoC: atmel: ac97c: Handle return value of clk_prepare_enable.")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/atmel/ac97c.c')
-rw-r--r-- | sound/atmel/ac97c.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index 52b0522fda20..d78405329ceb 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c @@ -785,7 +785,7 @@ static int atmel_ac97c_probe(struct platform_device *pdev) } retval = clk_prepare_enable(pclk); if (retval) - return retval; + goto err_prepare_enable; retval = snd_card_new(&pdev->dev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, THIS_MODULE, @@ -881,6 +881,7 @@ err_request_irq: snd_card_free(card); err_snd_card_new: clk_disable_unprepare(pclk); +err_prepare_enable: clk_put(pclk); return retval; } |