diff --git a/common/charge_state.c b/common/charge_state.c index 02d670a7ed..e959c8cc57 100644 --- a/common/charge_state.c +++ b/common/charge_state.c @@ -306,7 +306,8 @@ static int state_common(struct power_state_context *ctx) } else if (d) { rv = battery_desired_voltage(&batt->desired_voltage); if (rv == EC_ERROR_UNIMPLEMENTED) - batt->desired_voltage = ctx->charger->voltage_max; + batt->desired_voltage = MIN(ctx->charger->voltage_max, + ctx->battery->voltage_max); else if (rv != EC_SUCCESS) curr->error |= F_DESIRED_VOLTAGE;