diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2014-01-23 16:00:11 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-03-10 13:38:07 +0100 |
commit | 8ade45e795d1ee531423d529dfa2c441ece1196a (patch) | |
tree | 8c31c34dd28ece47104246de80f3ec5c27ef513a /src/common/rsl.c | |
parent | 3058854535f08e12f6d8dd4f35490ecef40b3040 (diff) |
handover: Set basic values for handover, remember the activation reason
Introduce the handover.h/handover.c and initialize handover parameters
in OML and remember the activation through RSL.
Diffstat (limited to 'src/common/rsl.c')
-rw-r--r-- | src/common/rsl.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c index c97dd8a3..6b683bd5 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -45,6 +45,7 @@ #include <osmo-bts/bts_model.h> #include <osmo-bts/measurement.h> #include <osmo-bts/pcu_if.h> +#include <osmo-bts/handover.h> //#define FAKE_CIPH_MODE_COMPL @@ -736,6 +737,12 @@ static int rsl_rx_chan_activ(struct msgb *msg) memset(&lchan->encr, 0, sizeof(lchan->encr)); /* 9.3.9 Handover Reference */ + if ((type == RSL_ACT_INTER_ASYNC || + type == RSL_ACT_INTER_SYNC) && + TLVP_PRESENT(&tp, RSL_IE_HANDO_REF)) { + lchan->ho.active = HANDOVER_ENABLED; + lchan->ho.ref = *TLVP_VAL(&tp, RSL_IE_HANDO_REF); + } /* 9.3.4 BS Power */ if (TLVP_PRESENT(&tp, RSL_IE_BS_POWER)) @@ -832,6 +839,9 @@ static int rsl_rx_rf_chan_rel(struct gsm_lchan *lchan) msgb_queue_flush(&lchan->dl_tch_queue); } + /* release handover state */ + handover_reset(lchan); + lchan->rel_act_kind = LCHAN_REL_ACT_RSL; rc = bts_model_rsl_chan_rel(lchan); |