All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] ASoC: Fix error handling in wm899x
@ 2020-11-11 13:09 Zhang Qilong
  2020-11-11 13:09 ` [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe Zhang Qilong
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Zhang Qilong @ 2020-11-11 13:09 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, rf; +Cc: patches, alsa-devel

The first patch fixed a wrong free in wm8997_probe. The
remaining three patches fixed PM disable depth imbalance
on error handling.

Zhang Qilong (4):
  ASoC: arizona: Fix a wrong free in wm8997_probe
  ASoC: arizona: Fix PM disable depth imbalance on error
  ASoC: wm8994: Fix PM disable depth imbalance on error
  ASoC: wm8998: Fix PM disable depth imbalance on error

 sound/soc/codecs/wm8994.c | 6 +++++-
 sound/soc/codecs/wm8997.c | 8 ++++++--
 sound/soc/codecs/wm8998.c | 4 +++-
 3 files changed, 14 insertions(+), 4 deletions(-)

-- 
2.25.4


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

* [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe
  2020-11-11 13:09 [PATCH v2 0/4] ASoC: Fix error handling in wm899x Zhang Qilong
@ 2020-11-11 13:09 ` Zhang Qilong
  2020-11-11 13:24   ` Richard Fitzgerald
  2020-11-11 13:09 ` [PATCH v2 2/4] ASoC: arizona: Fix PM disable depth imbalance on error Zhang Qilong
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Zhang Qilong @ 2020-11-11 13:09 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, rf; +Cc: patches, alsa-devel

In the normal path, we should not free the arizona,
we should return immediately. It will be free when
call remove operation.

Fixes: 31833ead95c2c ("ASoC: arizona: Move request of speaker IRQs into bus probe")
Reported-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
---
 sound/soc/codecs/wm8997.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/soc/codecs/wm8997.c b/sound/soc/codecs/wm8997.c
index 37e4bb3dbd8a..229f2986cd96 100644
--- a/sound/soc/codecs/wm8997.c
+++ b/sound/soc/codecs/wm8997.c
@@ -1177,6 +1177,8 @@ static int wm8997_probe(struct platform_device *pdev)
 		goto err_spk_irqs;
 	}
 
+	return ret;
+
 err_spk_irqs:
 	arizona_free_spk_irqs(arizona);
 
-- 
2.25.4


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

* [PATCH v2 2/4] ASoC: arizona: Fix PM disable depth imbalance on error
  2020-11-11 13:09 [PATCH v2 0/4] ASoC: Fix error handling in wm899x Zhang Qilong
  2020-11-11 13:09 ` [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe Zhang Qilong
@ 2020-11-11 13:09 ` Zhang Qilong
  2020-11-11 13:09 ` [PATCH v2 3/4] ASoC: wm8994: " Zhang Qilong
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Zhang Qilong @ 2020-11-11 13:09 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, rf; +Cc: patches, alsa-devel

The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced according to context.

Fixes: 85e7dd3f871b9 ("ASoC: arizona: Add support for setting the output volume limits")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
---
 sound/soc/codecs/wm8997.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/wm8997.c b/sound/soc/codecs/wm8997.c
index 229f2986cd96..014328162262 100644
--- a/sound/soc/codecs/wm8997.c
+++ b/sound/soc/codecs/wm8997.c
@@ -1163,10 +1163,10 @@ static int wm8997_probe(struct platform_device *pdev)
 
 	ret = arizona_init_vol_limit(arizona);
 	if (ret < 0)
-		return ret;
+		goto err_pm_disable;
 	ret = arizona_init_spk_irqs(arizona);
 	if (ret < 0)
-		return ret;
+		goto err_pm_disable;
 
 	ret = devm_snd_soc_register_component(&pdev->dev,
 					      &soc_component_dev_wm8997,
@@ -1181,6 +1181,8 @@ static int wm8997_probe(struct platform_device *pdev)
 
 err_spk_irqs:
 	arizona_free_spk_irqs(arizona);
+err_pm_disable:
+	pm_runtime_disable(&pdev->dev);
 
 	return ret;
 }
-- 
2.25.4


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

* [PATCH v2 3/4] ASoC: wm8994: Fix PM disable depth imbalance on error
  2020-11-11 13:09 [PATCH v2 0/4] ASoC: Fix error handling in wm899x Zhang Qilong
  2020-11-11 13:09 ` [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe Zhang Qilong
  2020-11-11 13:09 ` [PATCH v2 2/4] ASoC: arizona: Fix PM disable depth imbalance on error Zhang Qilong
@ 2020-11-11 13:09 ` Zhang Qilong
  2020-11-11 13:09 ` [PATCH v2 4/4] ASoC: wm8998: " Zhang Qilong
  2020-11-12 19:38 ` [PATCH v2 0/4] ASoC: Fix error handling in wm899x Mark Brown
  4 siblings, 0 replies; 7+ messages in thread
From: Zhang Qilong @ 2020-11-11 13:09 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, rf; +Cc: patches, alsa-devel

The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced according to context.

Fixes: 57e265c8d71fb ("ASoC: wm8994: Move runtime PM init to platform device init")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
---
 sound/soc/codecs/wm8994.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index fc9ea198ac79..f57884113406 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -4645,8 +4645,12 @@ static int wm8994_probe(struct platform_device *pdev)
 	pm_runtime_enable(&pdev->dev);
 	pm_runtime_idle(&pdev->dev);
 
-	return devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_wm8994,
+	ret = devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_wm8994,
 			wm8994_dai, ARRAY_SIZE(wm8994_dai));
+	if (ret < 0)
+		pm_runtime_disable(&pdev->dev);
+
+	return ret;
 }
 
 static int wm8994_remove(struct platform_device *pdev)
-- 
2.25.4


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

* [PATCH v2 4/4] ASoC: wm8998: Fix PM disable depth imbalance on error
  2020-11-11 13:09 [PATCH v2 0/4] ASoC: Fix error handling in wm899x Zhang Qilong
                   ` (2 preceding siblings ...)
  2020-11-11 13:09 ` [PATCH v2 3/4] ASoC: wm8994: " Zhang Qilong
@ 2020-11-11 13:09 ` Zhang Qilong
  2020-11-12 19:38 ` [PATCH v2 0/4] ASoC: Fix error handling in wm899x Mark Brown
  4 siblings, 0 replies; 7+ messages in thread
From: Zhang Qilong @ 2020-11-11 13:09 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, rf; +Cc: patches, alsa-devel

The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced according to context.

Fixes: 31833ead95c2c ("ASoC: arizona: Move request of speaker IRQs into bus probe")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
---
 sound/soc/codecs/wm8998.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/wm8998.c b/sound/soc/codecs/wm8998.c
index f6c5cc80c970..5413254295b7 100644
--- a/sound/soc/codecs/wm8998.c
+++ b/sound/soc/codecs/wm8998.c
@@ -1375,7 +1375,7 @@ static int wm8998_probe(struct platform_device *pdev)
 
 	ret = arizona_init_spk_irqs(arizona);
 	if (ret < 0)
-		return ret;
+		goto err_pm_disable;
 
 	ret = devm_snd_soc_register_component(&pdev->dev,
 					      &soc_component_dev_wm8998,
@@ -1390,6 +1390,8 @@ static int wm8998_probe(struct platform_device *pdev)
 
 err_spk_irqs:
 	arizona_free_spk_irqs(arizona);
+err_pm_disable:
+	pm_runtime_disable(&pdev->dev);
 
 	return ret;
 }
-- 
2.25.4


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

* Re: [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe
  2020-11-11 13:09 ` [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe Zhang Qilong
@ 2020-11-11 13:24   ` Richard Fitzgerald
  0 siblings, 0 replies; 7+ messages in thread
From: Richard Fitzgerald @ 2020-11-11 13:24 UTC (permalink / raw)
  To: Zhang Qilong, lgirdwood, broonie, perex, tiwai; +Cc: patches, alsa-devel

On 11/11/2020 13:09, Zhang Qilong wrote:
> In the normal path, we should not free the arizona,
> we should return immediately. It will be free when
> call remove operation.
> 
> Fixes: 31833ead95c2c ("ASoC: arizona: Move request of speaker IRQs into bus probe")
> Reported-by: Richard Fitzgerald <rf@opensource.cirrus.com>
> Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
> ---
>   sound/soc/codecs/wm8997.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/codecs/wm8997.c b/sound/soc/codecs/wm8997.c
> index 37e4bb3dbd8a..229f2986cd96 100644
> --- a/sound/soc/codecs/wm8997.c
> +++ b/sound/soc/codecs/wm8997.c
> @@ -1177,6 +1177,8 @@ static int wm8997_probe(struct platform_device *pdev)
>   		goto err_spk_irqs;
>   	}
>   
> +	return ret;
> +
>   err_spk_irqs:
>   	arizona_free_spk_irqs(arizona);
>   
> 

Acked-by: Richard Fitzgerald <rf@opensource.cirrus.com>

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

* Re: [PATCH v2 0/4] ASoC: Fix error handling in wm899x
  2020-11-11 13:09 [PATCH v2 0/4] ASoC: Fix error handling in wm899x Zhang Qilong
                   ` (3 preceding siblings ...)
  2020-11-11 13:09 ` [PATCH v2 4/4] ASoC: wm8998: " Zhang Qilong
@ 2020-11-12 19:38 ` Mark Brown
  4 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2020-11-12 19:38 UTC (permalink / raw)
  To: tiwai, rf, perex, lgirdwood, Zhang Qilong; +Cc: patches, alsa-devel

On Wed, 11 Nov 2020 21:09:19 +0800, Zhang Qilong wrote:
> The first patch fixed a wrong free in wm8997_probe. The
> remaining three patches fixed PM disable depth imbalance
> on error handling.
> 
> Zhang Qilong (4):
>   ASoC: arizona: Fix a wrong free in wm8997_probe
>   ASoC: arizona: Fix PM disable depth imbalance on error
>   ASoC: wm8994: Fix PM disable depth imbalance on error
>   ASoC: wm8998: Fix PM disable depth imbalance on error
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] ASoC: arizona: Fix a wrong free in wm8997_probe
      commit: 5e7aace13df24ff72511f29c14ebbfe638ef733c

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

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

end of thread, other threads:[~2020-11-12 19:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 13:09 [PATCH v2 0/4] ASoC: Fix error handling in wm899x Zhang Qilong
2020-11-11 13:09 ` [PATCH v2 1/4] ASoC: arizona: Fix a wrong free in wm8997_probe Zhang Qilong
2020-11-11 13:24   ` Richard Fitzgerald
2020-11-11 13:09 ` [PATCH v2 2/4] ASoC: arizona: Fix PM disable depth imbalance on error Zhang Qilong
2020-11-11 13:09 ` [PATCH v2 3/4] ASoC: wm8994: " Zhang Qilong
2020-11-11 13:09 ` [PATCH v2 4/4] ASoC: wm8998: " Zhang Qilong
2020-11-12 19:38 ` [PATCH v2 0/4] ASoC: Fix error handling in wm899x Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.