diff --git a/drivers/power/qpnp-bms.c b/drivers/power/qpnp-bms.c index 36026cead3325ba3c4248ad6b467ba1d5811f91b..29e69e55dc73de47603de43386dfdc01bbce2937 100644 --- a/drivers/power/qpnp-bms.c +++ b/drivers/power/qpnp-bms.c @@ -2095,7 +2095,7 @@ static int report_cc_based_soc(struct qpnp_bms_chip *chip) backup_soc_and_iavg(chip, batt_temp, chip->last_soc); pr_debug("Reported SOC = %d\n", chip->last_soc); mutex_unlock(&chip->last_soc_mutex); - if ((chip->last_soc >= 99) && (chip->calculated_soc >= 98) && (time_since_last_change_sec <= 60) + if ((chip->calculated_soc >= 98) && (time_since_last_change_sec <= 60) && (get_battery_status(chip) == POWER_SUPPLY_STATUS_DISCHARGING) && charge_full == true) return soc_temp; else { diff --git a/drivers/power/qpnp-charger.c b/drivers/power/qpnp-charger.c index 6613305ef63dac5382ecfb7a70c2c76eecfb086e..6f7990d11d79124c4474f02a6841b29064edbce6 100644 --- a/drivers/power/qpnp-charger.c +++ b/drivers/power/qpnp-charger.c @@ -2143,7 +2143,7 @@ qpnp_chg_chgr_chg_failed_irq_handler(int irq, void *_chip) u8 chg_led = 0; //ASUS_BSP + printk("chg_failed triggered\n"); - + chip->chg_done = true; qpnp_chg_write(chip, &chg_led, 0x104D, 1);//ASUS_BSP + rc = qpnp_chg_masked_write(chip,