Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'
@ 2017-09-16  5:40 Christophe JAILLET
  2017-09-19  6:10 ` Peter Ujfalusi
  2017-09-19 13:46 ` Applied "ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'" to the asoc tree Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Christophe JAILLET @ 2017-09-16  5:40 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, peter.ujfalusi
  Cc: alsa-devel, linux-kernel, kernel-janitors, Christophe JAILLET

All error handling paths in this function 'goto err' except this one.

If one of the 2 previous memory allocations fails, we should go through
the existing error handling path. Otherwise there is an unbalanced
pm_runtime_enable()/pm_runtime_disable().

Fixes: dd55ff8346a9 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 sound/soc/davinci/davinci-mcasp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index f395bbc7c354..23b0da7df1f2 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -1982,8 +1982,10 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 			     GFP_KERNEL);
 
 	if (!mcasp->chconstr[SNDRV_PCM_STREAM_PLAYBACK].list ||
-	    !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list)
-		return -ENOMEM;
+	    !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list) {
+		ret = -ENOMEM;
+		goto err;
+	}
 
 	ret = davinci_mcasp_set_ch_constraints(mcasp);
 	if (ret)
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'
  2017-09-16  5:40 [PATCH] ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()' Christophe JAILLET
@ 2017-09-19  6:10 ` Peter Ujfalusi
  2017-09-19 13:46 ` Applied "ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'" to the asoc tree Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Ujfalusi @ 2017-09-19  6:10 UTC (permalink / raw)
  To: Christophe JAILLET, lgirdwood, broonie, perex, tiwai
  Cc: alsa-devel, kernel-janitors, linux-kernel




Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

On 2017-09-16 08:40, Christophe JAILLET wrote:
> All error handling paths in this function 'goto err' except this one.
> 
> If one of the 2 previous memory allocations fails, we should go through
> the existing error handling path. Otherwise there is an unbalanced
> pm_runtime_enable()/pm_runtime_disable().

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

> Fixes: dd55ff8346a9 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
>  sound/soc/davinci/davinci-mcasp.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
> index f395bbc7c354..23b0da7df1f2 100644
> --- a/sound/soc/davinci/davinci-mcasp.c
> +++ b/sound/soc/davinci/davinci-mcasp.c
> @@ -1982,8 +1982,10 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
>  			     GFP_KERNEL);
>  
>  	if (!mcasp->chconstr[SNDRV_PCM_STREAM_PLAYBACK].list ||
> -	    !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list)
> -		return -ENOMEM;
> +	    !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list) {
> +		ret = -ENOMEM;
> +		goto err;
> +	}
>  
>  	ret = davinci_mcasp_set_ch_constraints(mcasp);
>  	if (ret)
> 

- Péter

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Applied "ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'" to the asoc tree
  2017-09-16  5:40 [PATCH] ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()' Christophe JAILLET
  2017-09-19  6:10 ` Peter Ujfalusi
@ 2017-09-19 13:46 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2017-09-19 13:46 UTC (permalink / raw)
  Cc: Christophe JAILLET, Peter Ujfalusi, Mark Brown, lgirdwood

The patch

   ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'

has been applied to the asoc tree at

   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 1b8b68b05d1868404316d32e20782b00442aba90 Mon Sep 17 00:00:00 2001
From: Christophe Jaillet <christophe.jaillet@wanadoo.fr>
Date: Sat, 16 Sep 2017 07:40:29 +0200
Subject: [PATCH] ASoC: davinci-mcasp: Fix an error handling path in
 'davinci_mcasp_probe()'

All error handling paths in this function 'goto err' except this one.

If one of the 2 previous memory allocations fails, we should go through
the existing error handling path. Otherwise there is an unbalanced
pm_runtime_enable()/pm_runtime_disable().

Fixes: dd55ff8346a9 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/davinci/davinci-mcasp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index f395bbc7c354..23b0da7df1f2 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -1982,8 +1982,10 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
 			     GFP_KERNEL);
 
 	if (!mcasp->chconstr[SNDRV_PCM_STREAM_PLAYBACK].list ||
-	    !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list)
-		return -ENOMEM;
+	    !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list) {
+		ret = -ENOMEM;
+		goto err;
+	}
 
 	ret = davinci_mcasp_set_ch_constraints(mcasp);
 	if (ret)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-19 13:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-16  5:40 [PATCH] ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()' Christophe JAILLET
2017-09-19  6:10 ` Peter Ujfalusi
2017-09-19 13:46 ` Applied "ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'" to the asoc tree Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox