Re: [PATCH5b51a54ae2fa1cc8459b68a28b3c8ca7b7203994] PM / devfreq: mtk-cci: Fix variable deferencing before NULL check

From: Chanwoo Choi
Date: Mon May 29 2023 - 10:28:05 EST


On 23. 5. 18. 17:40, Sukrut Bellary wrote:
> smatch warning:
> drivers/devfreq/mtk-cci-devfreq.c:135 mtk_ccifreq_target()
> warn: variable dereferenced before check 'drv' (see line 130)
>
> This is based on static analysis only. Compilation tested.
>
> Signed-off-by: Sukrut Bellary <sukrut.bellary@xxxxxxxxx>
> ---
> drivers/devfreq/mtk-cci-devfreq.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/devfreq/mtk-cci-devfreq.c b/drivers/devfreq/mtk-cci-devfreq.c
> index e5458ada5197..6354622eda65 100644
> --- a/drivers/devfreq/mtk-cci-devfreq.c
> +++ b/drivers/devfreq/mtk-cci-devfreq.c
> @@ -127,7 +127,7 @@ static int mtk_ccifreq_target(struct device *dev, unsigned long *freq,
> u32 flags)
> {
> struct mtk_ccifreq_drv *drv = dev_get_drvdata(dev);
> - struct clk *cci_pll = clk_get_parent(drv->cci_clk);
> + struct clk *cci_pll;
> struct dev_pm_opp *opp;
> unsigned long opp_rate;
> int voltage, pre_voltage, inter_voltage, target_voltage, ret;
> @@ -139,6 +139,7 @@ static int mtk_ccifreq_target(struct device *dev, unsigned long *freq,
> return 0;
>
> inter_voltage = drv->inter_voltage;
> + cci_pll = clk_get_parent(drv->cci_clk);
>
> opp_rate = *freq;
> opp = devfreq_recommended_opp(dev, &opp_rate, 1);

Applied it. Thanks.

--
Best Regards,
Samsung Electronics
Chanwoo Choi