diff options
| author | Zhang Qilong <[email protected]> | 2022-09-27 22:26:00 +0800 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2022-09-27 18:16:43 +0100 | 
| commit | b9a0da5b2edcae2a901b85c8cc42efc5bec4bd7b (patch) | |
| tree | 71fb6ef66e6875e8354126f12236ad2a44de5c71 | |
| parent | 45560891506fae31be66f2a73693c5c8bd7dbedb (diff) | |
ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe
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. We fix it by moving
pm_runtime_enable to the endding of stm32_adfsdm_probe.
Fixes:98e500a12f934 ("ASoC: stm32: dfsdm: add pm_runtime support for audio")
Signed-off-by: Zhang Qilong <[email protected]>
Reviewed-by: Olivier Moysan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
| -rw-r--r-- | sound/soc/stm/stm32_adfsdm.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/soc/stm/stm32_adfsdm.c b/sound/soc/stm/stm32_adfsdm.c index 04f2912e1418..643fc8a17018 100644 --- a/sound/soc/stm/stm32_adfsdm.c +++ b/sound/soc/stm/stm32_adfsdm.c @@ -335,8 +335,6 @@ static int stm32_adfsdm_probe(struct platform_device *pdev)  	dev_set_drvdata(&pdev->dev, priv); -	pm_runtime_enable(&pdev->dev); -  	ret = devm_snd_soc_register_component(&pdev->dev,  					      &stm32_adfsdm_dai_component,  					      &priv->dai_drv, 1); @@ -366,9 +364,13 @@ static int stm32_adfsdm_probe(struct platform_device *pdev)  #endif  	ret = snd_soc_add_component(component, NULL, 0); -	if (ret < 0) +	if (ret < 0) {  		dev_err(&pdev->dev, "%s: Failed to register PCM platform\n",  			__func__); +		return ret; +	} + +	pm_runtime_enable(&pdev->dev);  	return ret;  }  |