mirror of https://github.com/PentHertz/srsLTE.git
fix handover regression. The new pcell was not being correctly reactivated
This commit is contained in:
parent
9b20e35b8f
commit
a24091edf8
|
@ -76,6 +76,8 @@ struct sched_ue_cell {
|
||||||
int fixed_mcs_ul = 0, fixed_mcs_dl = 0;
|
int fixed_mcs_ul = 0, fixed_mcs_dl = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void enter_idle_st();
|
||||||
|
|
||||||
srslte::log_ref log_h{"MAC"};
|
srslte::log_ref log_h{"MAC"};
|
||||||
|
|
||||||
const sched_interface::ue_cfg_t* ue_cfg = nullptr;
|
const sched_interface::ue_cfg_t* ue_cfg = nullptr;
|
||||||
|
|
|
@ -61,7 +61,7 @@ void sched_ue_cell::set_ue_cfg(const sched_interface::ue_cfg_t& ue_cfg_)
|
||||||
|
|
||||||
// Update carrier state
|
// Update carrier state
|
||||||
if (ue_cc_idx == 0) {
|
if (ue_cc_idx == 0) {
|
||||||
if (cc_state() == cc_st::idle) {
|
if (cc_state() != cc_st::active) {
|
||||||
reset();
|
reset();
|
||||||
// PCell is always active
|
// PCell is always active
|
||||||
cc_state_ = cc_st::active;
|
cc_state_ = cc_st::active;
|
||||||
|
@ -102,7 +102,7 @@ void sched_ue_cell::new_tti(tti_point tti_rx)
|
||||||
if (ue_cc_idx > 0 and cc_state_ == cc_st::deactivating) {
|
if (ue_cc_idx > 0 and cc_state_ == cc_st::deactivating) {
|
||||||
// wait for all ACKs to be received before completely deactivating SCell
|
// wait for all ACKs to be received before completely deactivating SCell
|
||||||
if (current_tti > to_tx_dl_ack(cfg_tti)) {
|
if (current_tti > to_tx_dl_ack(cfg_tti)) {
|
||||||
cc_state_ = cc_st::idle;
|
enter_idle_st();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,7 +118,6 @@ void sched_ue_cell::reset()
|
||||||
dl_cqi_rx = false;
|
dl_cqi_rx = false;
|
||||||
ul_cqi = 1;
|
ul_cqi = 1;
|
||||||
ul_cqi_tti_rx = tti_point{};
|
ul_cqi_tti_rx = tti_point{};
|
||||||
harq_ent.reset();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sched_ue_cell::finish_tti(tti_point tti_rx)
|
void sched_ue_cell::finish_tti(tti_point tti_rx)
|
||||||
|
@ -139,6 +138,12 @@ void sched_ue_cell::set_dl_cqi(tti_point tti_rx, uint32_t dl_cqi_)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sched_ue_cell::enter_idle_st()
|
||||||
|
{
|
||||||
|
cc_state_ = cc_st::idle;
|
||||||
|
harq_ent.reset();
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************************
|
/*************************************************************
|
||||||
* TBS/MCS derivation
|
* TBS/MCS derivation
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue