From 0515760fa1159ffa863c7b2b73466aaff7d11a80 Mon Sep 17 00:00:00 2001 From: Christophe Jaillet Date: Thu, 31 Aug 2017 06:40:42 +0200 Subject: [PATCH] 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 Acked-by: Alexandre Belloni Signed-off-by: Mark Brown --- sound/atmel/ac97c.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; } -- 2.20.1