When regmap_read fails, it doesn't make sense to use the read value "val" because it can be uninitialized.
The fix returns if regmap_read fails. Signed-off-by: Kangjie Lu <k...@umn.edu> --- drivers/extcon/extcon-axp288.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c index a983708b77a6..b2ba5f073aa7 100644 --- a/drivers/extcon/extcon-axp288.c +++ b/drivers/extcon/extcon-axp288.c @@ -143,6 +143,10 @@ static void axp288_extcon_log_rsi(struct axp288_extcon_info *info) int ret; ret = regmap_read(info->regmap, AXP288_PS_BOOT_REASON_REG, &val); + if (ret) { + dev_err(info->dev, "failed to read BOOT_REASON_REG: %d\n", ret); + return; + } for (i = 0, rsi = axp288_pwr_up_down_info; *rsi; rsi++, i++) { if (val & BIT(i)) { dev_dbg(info->dev, "%s\n", *rsi); -- 2.17.1