Message ID | 20220926141132.124245-3-zhangqilong3@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Fix PM disable depth imbalance in stm32 probe | expand |
Hi Zhang, Thanks.You can add my: Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com> BRs On 9/26/22 16:11, Zhang Qilong wrote: > 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_spdifrx_probe. > > Fixes:ac5e3efd55868 ("ASoC: stm32: spdifrx: add pm_runtime support") > Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> > --- > sound/soc/stm/stm32_spdifrx.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/stm/stm32_spdifrx.c b/sound/soc/stm/stm32_spdifrx.c > index 0f7146756717..d399c906bb92 100644 > --- a/sound/soc/stm/stm32_spdifrx.c > +++ b/sound/soc/stm/stm32_spdifrx.c > @@ -1002,8 +1002,6 @@ static int stm32_spdifrx_probe(struct platform_device *pdev) > udelay(2); > reset_control_deassert(rst); > > - pm_runtime_enable(&pdev->dev); > - > pcm_config = &stm32_spdifrx_pcm_config; > ret = snd_dmaengine_pcm_register(&pdev->dev, pcm_config, 0); > if (ret) > @@ -1036,6 +1034,8 @@ static int stm32_spdifrx_probe(struct platform_device *pdev) > FIELD_GET(SPDIFRX_VERR_MIN_MASK, ver)); > } > > + pm_runtime_enable(&pdev->dev); > + > return ret; > > error:
diff --git a/sound/soc/stm/stm32_spdifrx.c b/sound/soc/stm/stm32_spdifrx.c index 0f7146756717..d399c906bb92 100644 --- a/sound/soc/stm/stm32_spdifrx.c +++ b/sound/soc/stm/stm32_spdifrx.c @@ -1002,8 +1002,6 @@ static int stm32_spdifrx_probe(struct platform_device *pdev) udelay(2); reset_control_deassert(rst); - pm_runtime_enable(&pdev->dev); - pcm_config = &stm32_spdifrx_pcm_config; ret = snd_dmaengine_pcm_register(&pdev->dev, pcm_config, 0); if (ret) @@ -1036,6 +1034,8 @@ static int stm32_spdifrx_probe(struct platform_device *pdev) FIELD_GET(SPDIFRX_VERR_MIN_MASK, ver)); } + pm_runtime_enable(&pdev->dev); + return ret; error:
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_spdifrx_probe. Fixes:ac5e3efd55868 ("ASoC: stm32: spdifrx: add pm_runtime support") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> --- sound/soc/stm/stm32_spdifrx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)