Skip to content

Commit d2443fc

Browse files
LeoCX-TsaiTerrails
authored andcommitted
fwk: main: avoid extender overwritten charger limit
if disable extender is and setting the charger limit at bios option same moment, host will send charger limit cmd first(3e03) and then disable extender(3e24), but if disable extender it will set charger to normal and let sustainer to default (battery_sustainer_set(-1, -1)), so charger limit will be overwritten to disable BRANCH=fwk-main BUG=https://community.frame.work/t/12th-gen-intel-core-bios-3-09-release-beta/65716/15 TEST=test on marigold, into bios setup, disable battery extender and setting chargerlimit(80%) press f10 saving and reboot, after boot up check battery percentage will stop at 80% Signed-off-by: LeoCX_Tsai <LeoCX_Tsai@compal.com> (cherry picked from commit 09386f6)
1 parent e57089a commit d2443fc

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

zephyr/program/framework/src/battery_extender.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,11 @@ static enum ec_status battery_extender_hc(struct host_cmd_handler_args *args)
192192
if (batt_extender_disable != p->disable) {
193193
batt_extender_disable = p->disable;
194194
if (batt_extender_disable) {
195-
battery_sustainer_set(-1, -1);
196-
set_chg_ctrl_mode(CHARGE_CONTROL_NORMAL);
195+
/* if charger limit has been set don't control sustainer again */
196+
if (charger_sustainer_percentage() == 100) {
197+
battery_sustainer_set(-1, -1);
198+
set_chg_ctrl_mode(CHARGE_CONTROL_NORMAL);
199+
}
197200
stage = BATT_EXTENDER_STAGE_0;
198201
}
199202
}

0 commit comments

Comments
 (0)