lkml.org 
[lkml]   [2022]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 244/530] ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe
    Date
    From: Zhang Qilong <zhangqilong3@huawei.com>

    [ Upstream commit b73f11e895e140537e7f8c7251211ccd3ce0782b ]

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

    Fixes:f289e55c6eeb4 ("ASoC: Add MediaTek MT6660 Speaker Amp Driver")

    Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
    Link: https://lore.kernel.org/r/20220928160116.125020-5-zhangqilong3@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/codecs/mt6660.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    diff --git a/sound/soc/codecs/mt6660.c b/sound/soc/codecs/mt6660.c
    index 358c500377df..a0a3fd60e93a 100644
    --- a/sound/soc/codecs/mt6660.c
    +++ b/sound/soc/codecs/mt6660.c
    @@ -504,13 +504,17 @@ static int mt6660_i2c_probe(struct i2c_client *client,
    dev_err(chip->dev, "read chip revision fail\n");
    goto probe_fail;
    }
    - pm_runtime_set_active(chip->dev);
    - pm_runtime_enable(chip->dev);

    ret = devm_snd_soc_register_component(chip->dev,
    &mt6660_component_driver,
    &mt6660_codec_dai, 1);
    + if (!ret) {
    + pm_runtime_set_active(chip->dev);
    + pm_runtime_enable(chip->dev);
    + }
    +
    return ret;
    +
    probe_fail:
    _mt6660_chip_power_on(chip, 0);
    mutex_destroy(&chip->io_lock);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-10-24 22:39    [W:2.699 / U:27.724 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site