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

Reply via email to