]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Wed, 28 Sep 2022 16:01:14 +0000 (00:01 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 24 Nov 2022 13:24:27 +0000 (14:24 +0100)
BugLink: https://bugs.launchpad.net/bugs/1996825
[ Upstream commit 86b46bf1feb83898d89a2b4a8d08d21e9ea277a7 ]

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 wm5110_probe.

Fixes:5c6af635fd772 ("ASoC: wm5110: Add audio CODEC driver")

Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20220928160116.125020-3-zhangqilong3@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
sound/soc/codecs/wm5110.c

index 7c6e01720d6517433e596c365f301020d9f73a5c..66a4827c16bd66134fb724fb9308bb4be5f3649d 100644 (file)
@@ -2458,9 +2458,6 @@ static int wm5110_probe(struct platform_device *pdev)
                regmap_update_bits(arizona->regmap, wm5110_digital_vu[i],
                                   WM5110_DIG_VU, WM5110_DIG_VU);
 
-       pm_runtime_enable(&pdev->dev);
-       pm_runtime_idle(&pdev->dev);
-
        ret = arizona_request_irq(arizona, ARIZONA_IRQ_DSP_IRQ1,
                                  "ADSP2 Compressed IRQ", wm5110_adsp2_irq,
                                  wm5110);
@@ -2493,6 +2490,9 @@ static int wm5110_probe(struct platform_device *pdev)
                goto err_spk_irqs;
        }
 
+       pm_runtime_enable(&pdev->dev);
+       pm_runtime_idle(&pdev->dev);
+
        return ret;
 
 err_spk_irqs: