PM / devfreq: mtk-cci: Fix variable deferencing before NULL check
authorSukrut Bellary <sukrut.bellary@linux.com>
Thu, 18 May 2023 08:40:33 +0000 (01:40 -0700)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 29 May 2023 14:25:31 +0000 (23:25 +0900)
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@linux.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/devfreq/mtk-cci-devfreq.c

index e5458ada5197a1d5a40d889268205d6c029e2f01..6354622eda65a715b8a3d2ee9110e231cc307790 100644 (file)
@@ -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);