In function miphy_osc_is_ready(), local variable "val" could be uninitalized. if function regmap_read() returns -EINVAL. However, this value is used in if statement. This is potentially unsafe.
Signed-off-by: Yizhuo <yzhai...@ucr.edu> --- drivers/phy/st/phy-miphy28lp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/phy/st/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c index 213e2e15339c..40c7c0a611a0 100644 --- a/drivers/phy/st/phy-miphy28lp.c +++ b/drivers/phy/st/phy-miphy28lp.c @@ -835,7 +835,8 @@ static int miphy_osc_is_ready(struct miphy28lp_phy *miphy_phy) { struct miphy28lp_dev *miphy_dev = miphy_phy->phydev; unsigned long finish = jiffies + 5 * HZ; - u32 val; + u32 val = 0; + int ret; if (!miphy_phy->osc_rdy) return 0; @@ -844,8 +845,10 @@ static int miphy_osc_is_ready(struct miphy28lp_phy *miphy_phy) return -EINVAL; do { - regmap_read(miphy_dev->regmap, + ret = regmap_read(miphy_dev->regmap, miphy_phy->syscfg_reg[SYSCFG_STATUS], &val); + if (ret) + return ret; if ((val & MIPHY_OSC_RDY) != MIPHY_OSC_RDY) cpu_relax(); -- 2.17.1