]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Wed, 28 Sep 2022 16:01:13 +0000 (00:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 11:22:30 +0000 (13:22 +0200)
[ Upstream commit 5cc6cfe189af891de4108cf18244a36b1c3d9a04 ]

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 wm8997_probe

Fixes:2b14cf4620c7c ("ASoC: wm8997: Initial CODEC driver")

Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20220928160116.125020-2-zhangqilong3@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/wm8997.c

index 229f2986cd96b22ffaeadd1630783aa12c0453d8..07378714b013a75698ec3517a5032d4977b2f5e6 100644 (file)
@@ -1156,9 +1156,6 @@ static int wm8997_probe(struct platform_device *pdev)
                regmap_update_bits(arizona->regmap, wm8997_digital_vu[i],
                                   WM8997_DIG_VU, WM8997_DIG_VU);
 
-       pm_runtime_enable(&pdev->dev);
-       pm_runtime_idle(&pdev->dev);
-
        arizona_init_common(arizona);
 
        ret = arizona_init_vol_limit(arizona);
@@ -1177,6 +1174,9 @@ static int wm8997_probe(struct platform_device *pdev)
                goto err_spk_irqs;
        }
 
+       pm_runtime_enable(&pdev->dev);
+       pm_runtime_idle(&pdev->dev);
+
        return ret;
 
 err_spk_irqs: