mirror of https://github.com/PentHertz/srsLTE.git
fix sched_ue configuration process when a carrier is set to 'not configured'
This commit is contained in:
parent
4ed87babff
commit
927938c7be
|
@ -37,12 +37,16 @@ void sched_ue_cell::set_ue_cfg(const sched_interface::ue_cfg_t& ue_cfg_)
|
|||
{
|
||||
cfg_tti = current_tti;
|
||||
ue_cfg = &ue_cfg_;
|
||||
int prev_ue_cc_idx = ue_cc_idx;
|
||||
ue_cc_idx = -1;
|
||||
for (size_t i = 0; i < ue_cfg_.supported_cc_list.size(); ++i) {
|
||||
if (ue_cfg_.supported_cc_list[i].enb_cc_idx == cell_cfg->enb_cc_idx) {
|
||||
ue_cc_idx = i;
|
||||
}
|
||||
}
|
||||
if (ue_cc_idx < 0 and prev_ue_cc_idx < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// set max mcs
|
||||
max_mcs_ul = cell_cfg->sched_cfg->pusch_max_mcs >= 0 ? cell_cfg->sched_cfg->pusch_max_mcs : 28u;
|
||||
|
@ -70,14 +74,14 @@ void sched_ue_cell::set_ue_cfg(const sched_interface::ue_cfg_t& ue_cfg_)
|
|||
switch (cc_state()) {
|
||||
case cc_st::activating:
|
||||
case cc_st::active:
|
||||
if (not ue_cfg->supported_cc_list[ue_cc_idx].active) {
|
||||
if (ue_cc_idx < 0 or not ue_cfg->supported_cc_list[ue_cc_idx].active) {
|
||||
cc_state_ = cc_st::deactivating;
|
||||
log_h->info("SCHED: Deactivating rnti=0x%x, SCellIndex=%d...\n", rnti, ue_cc_idx);
|
||||
}
|
||||
break;
|
||||
case cc_st::deactivating:
|
||||
case cc_st::idle:
|
||||
if (ue_cfg->supported_cc_list[ue_cc_idx].active) {
|
||||
if (ue_cc_idx > 0 and ue_cfg->supported_cc_list[ue_cc_idx].active) {
|
||||
reset();
|
||||
cc_state_ = cc_st::activating;
|
||||
dl_cqi = 0;
|
||||
|
|
Loading…
Reference in New Issue