From 10541fe4c71f0c0f44919abe96a7a54154121aee Mon Sep 17 00:00:00 2001 From: Caveh Jalali Date: Mon, 13 Jan 2020 20:19:47 -0800 Subject: syv682x: fix status register read We were reading CONTROL_1_REG instead of STATUS_REG to check the VSAFE_0V status. This corrects the register being accessed. BRANCH=none BUG=none TEST=volteer boots without a battery Change-Id: I06d0fbc0b9313b809ed43be13138241beca395a5 Signed-off-by: Caveh Jalali Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1999619 Reviewed-by: Daisuke Nojiri Reviewed-by: Scott Collyer Commit-Queue: Scott Collyer (cherry picked from commit d9d96d1b01cb66fbfdc50fe705eaa2cc2579b442) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2291467 Tested-by: Devin Lu Reviewed-by: Edward Hill Commit-Queue: Edward Hill --- driver/ppc/syv682x.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/driver/ppc/syv682x.c b/driver/ppc/syv682x.c index 5f80dd3d90..22222e59ba 100644 --- a/driver/ppc/syv682x.c +++ b/driver/ppc/syv682x.c @@ -302,11 +302,14 @@ static int syv682x_init(int port) return rv; /* Check if this if dead battery case */ - rv = read_reg(port, SYV682X_CONTROL_1_REG, ®val); + rv = read_reg(port, SYV682X_STATUS_REG, ®val); if (rv) return rv; if (regval & SYV682X_STATUS_VSAFE_0V) { /* Not dead battery case, so disable channel */ + rv = read_reg(port, SYV682X_CONTROL_1_REG, ®val); + if (rv) + return rv; regval |= SYV682X_CONTROL_1_PWR_ENB; rv = write_reg(port, SYV682X_CONTROL_1_REG, regval); if (rv) -- cgit v1.2.1