diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-06-29 15:33:13 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2021-06-29 22:24:24 +0200 |
commit | 4cff7293534eab399b28a0414a388f18df4afe13 (patch) | |
tree | 0cf9a98801dc85cdf76ce396ce27f3ff881db177 /src/osmo-bsc | |
parent | 26ce6b3aa471bc3b6f94a19e9fd78781762216f3 (diff) |
hodec2: fix low rxlev tch/h<->tch/f oscillation
Related: SYS#5365
Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5
Diffstat (limited to 'src/osmo-bsc')
-rw-r--r-- | src/osmo-bsc/handover_decision_2.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 97c8b6e0f..c9d11981a 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1191,7 +1191,10 @@ static void collect_candidates_for_lchan(struct gsm_lchan *lchan, assignment = ho_get_hodec2_as_active(bts->ho); handover = ho_get_ho_active(bts->ho); - if (assignment) + /* See if re-assignment within the same cell can resolve congestion. + * But: when TCH/F has low rxlev, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we would + * subsequently oscillate back to TCH/F due to low rxlev. So skip TCH/F with low rxlev. */ + if (assignment && !(lchan->type == GSM_LCHAN_TCH_F && is_low_rxlev(rxlev_current, bts->ho))) collect_assignment_candidate(lchan, clist, candidates, rxlev_current); if (handover) { |