diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c index 3e704b8b6b..3a59a39b00 100644 --- a/common/charge_state_v2.c +++ b/common/charge_state_v2.c @@ -1280,12 +1280,14 @@ void charger_task(void *u) } if (base_connected) { - /* - * TODO(b:71881017): Be smart about static info and do - * not fetch it over and over again. - */ - ec_ec_master_base_get_static_info(); + int old_flags = base_battery_dynamic.flags; + ec_ec_master_base_get_dynamic_info(); + + /* Fetch static information when flags change. */ + if (old_flags != base_battery_dynamic.flags) + ec_ec_master_base_get_static_info(); + charge_base = charge_get_base_percent(); } #endif