lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 094/717] ASoC: wm8994: Fix PM disable depth imbalance on error
    Date
    From: Zhang Qilong <zhangqilong3@huawei.com>

    [ Upstream commit b8161cbe55a1892a19a318eaebbda92438fa708c ]

    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>
    Link: https://lore.kernel.org/r/20201111041326.1257558-2-zhangqilong3@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 fc9ea198ac799..f57884113406b 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.27.0


    \
     
     \ /
      Last update: 2020-12-28 15:09    [W:4.052 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site