[<prev] [next>] [day] [month] [year] [list]
Message-ID: <6dd4ac07-397c-1e02-2ac5-2a8f243bfefe@wanadoo.fr>
Date: Sun, 3 Apr 2022 11:12:59 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: 林妙倩 <linmq006@...il.com>
Cc: alsa-devel@...a-project.org,
Banajit Goswami <bgoswami@...eaurora.org>,
linux-kernel@...r.kernel.org, Takashi Iwai <tiwai@...e.com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Subject: Re: [PATCH] ASoC: msm8916-wcd-digital: Fix missing
clk_disable_unprepare() in msm8916_wcd_digital_probe
Le 03/04/2022 à 09:15, 林妙倩 a écrit :
> Hi,
>
> Yes, I agree with you. We should check the error code of
> devm_snd_soc_register_component() and do corresponding
> handling.
You already fixed the first issue, do you mind sending a patch for this
one as well?
CJ
>
> Christophe JAILLET <christophe.jaillet@...adoo.fr> 于2022年4月3日周日 13:51写道:
>
>> Le 07/03/2022 à 09:45, Miaoqian Lin a écrit :
>>> Fix the missing clk_disable_unprepare() before return
>>> from msm8916_wcd_digital_probe in the error handling case.
>>>
>>> Fixes: 150db8c5afa1 ("ASoC: codecs: Add msm8916-wcd digital codec")
>>> Signed-off-by: Miaoqian Lin <linmq006@...il.com>
>>> ---
>>> sound/soc/codecs/msm8916-wcd-digital.c | 5 ++++-
>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/sound/soc/codecs/msm8916-wcd-digital.c
>> b/sound/soc/codecs/msm8916-wcd-digital.c
>>> index fcc10c8bc625..9ad7fc0baf07 100644
>>> --- a/sound/soc/codecs/msm8916-wcd-digital.c
>>> +++ b/sound/soc/codecs/msm8916-wcd-digital.c
>>> @@ -1201,7 +1201,7 @@ static int msm8916_wcd_digital_probe(struct
>> platform_device *pdev)
>>> ret = clk_prepare_enable(priv->mclk);
>>> if (ret < 0) {
>>> dev_err(dev, "failed to enable mclk %d\n", ret);
>>> - return ret;
>>> + goto err_clk;
>>> }
>>>
>>> dev_set_drvdata(dev, priv);
>>> @@ -1209,6 +1209,9 @@ static int msm8916_wcd_digital_probe(struct
>> platform_device *pdev)
>>> return devm_snd_soc_register_component(dev, &msm8916_wcd_digital,
>>> msm8916_wcd_digital_dai,
>>> ARRAY_SIZE(msm8916_wcd_digital_dai));
>>> +err_clk:
>>> + clk_disable_unprepare(priv->ahbclk);
>>> + return ret;
>>> }
>>>
>>> static int msm8916_wcd_digital_remove(struct platform_device *pdev)
>>
>> Hi,
>> I think that the same should be done for 'priv->mclk' if
>> devm_snd_soc_register_component() returns an error.
>>
>> Can you give it a look?
>>
>> CJ
>>
>
Powered by blists - more mailing lists