From: Keunho Hwang Date: Mon, 28 Jan 2019 04:24:38 +0000 (+0900) Subject: [RAMEN9610-12309][9610] drivers: fuelgauge: update mode change condition X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5da776d20476af8dee0dd654fc7f40a033d8bdf9;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [RAMEN9610-12309][9610] drivers: fuelgauge: update mode change condition Change-Id: Icc0d89673678ca3bd679c0a7dd042907538421fa Signed-off-by: Keunho Hwang --- diff --git a/drivers/power/supply/s2mu106_fuelgauge.c b/drivers/power/supply/s2mu106_fuelgauge.c index 08faa03b079e..c088bff4d4bf 100644 --- a/drivers/power/supply/s2mu106_fuelgauge.c +++ b/drivers/power/supply/s2mu106_fuelgauge.c @@ -928,7 +928,7 @@ static int s2mu106_get_rawsoc(struct s2mu106_fuelgauge_data *fuelgauge) float_voltage, avg_current, fg_mode_reg); if ((fuelgauge->is_charging == true) && - ((value.intval >= 98) || ((avg_vbat > float_voltage) && (avg_current < 500)))) { + ((fuelgauge->ui_soc >= 98) || ((avg_vbat > float_voltage) && (avg_current < 500)))) { if (fuelgauge->mode == CURRENT_MODE) { /* switch to VOLTAGE_MODE */ fuelgauge->mode = HIGH_SOC_VOLTAGE_MODE; @@ -939,7 +939,7 @@ static int s2mu106_get_rawsoc(struct s2mu106_fuelgauge_data *fuelgauge) dev_info(&fuelgauge->i2c->dev, "%s: FG is in high soc voltage mode\n", __func__); } - } else if (avg_current < -50) { + } else if ((avg_current < -50) || (avg_current >= 550)) { if (fuelgauge->mode == HIGH_SOC_VOLTAGE_MODE) { fuelgauge->mode = CURRENT_MODE;