summaryrefslogtreecommitdiffstats
path: root/sound/atmel/ac97c.c
diff options
context:
space:
mode:
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>2017-08-31 06:40:42 +0200
committerMark Brown <broonie@kernel.org>2017-08-31 11:52:29 +0100
commit0515760fa1159ffa863c7b2b73466aaff7d11a80 (patch)
tree71d21dbe2fa011a98a2ebfe17fe608b527abd7f4 /sound/atmel/ac97c.c
parentacd617a461ed811894f4318c9b952fa002f3be21 (diff)
downloadlinux-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.c3
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;
}