From 2fe305b4d693eee18cd8a7ca89c0fd3bcfaaede1 Mon Sep 17 00:00:00 2001 From: weiweij Date: Mon, 25 Apr 2022 10:11:05 +0800 Subject: [PATCH] wls_charge: add status jugdement for state register read Add status judgment for register reading, If register reading return an error, we should regard it as status "false". Change-Id: I6072ac01dcf531256e036bdc9814e0c5f9ffeb14 Reviewed-on: https://gerrit.mot.com/2251647 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Haijian Ma Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- drivers/power/cps4019_wls_charger/cps4019_wls_charger.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/power/cps4019_wls_charger/cps4019_wls_charger.c b/drivers/power/cps4019_wls_charger/cps4019_wls_charger.c index b89a1f1baed4..88af0621c1a5 100644 --- a/drivers/power/cps4019_wls_charger/cps4019_wls_charger.c +++ b/drivers/power/cps4019_wls_charger/cps4019_wls_charger.c @@ -996,7 +996,12 @@ static int cps_wls_get_state(void) static bool cps_wls_get_vout_state(void) { - return !!(cps_wls_get_state() & (1<<6)); + int ret = cps_wls_get_state(); + + if (ret == CPS_WLS_FAIL) + ret = 0; + + return !!(ret & (1<<6)); } static int cps_wls_get_die_tmp(void)