Message ID | 20230518084033.508711-1-sukrut.bellary@linux.com |
---|---|
State | Accepted |
Commit | a83bfdca8b2098999e3edfb87e98925e019eb818 |
Headers | show |
Series | [PATCH5b51a54ae2fa1cc8459b68a28b3c8ca7b7203994] PM / devfreq: mtk-cci: Fix variable deferencing before NULL check | expand |
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@linux.com> > --- > 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.
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);
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> --- drivers/devfreq/mtk-cci-devfreq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)