aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-02-12 17:28:56 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-07 16:39:28 +0100
commitc6deeeb620365e0f22c5700038a2281c996f0d8e (patch)
treedfdced0b9c1c45de807df3ab0e0ee9a28eb3ab1e
parent2556ed1bbbabd52a22f70121363264f0ff87cf0c (diff)
use RR Assignment Command for intra-cell re-assignmentneels/assignment
-rw-r--r--src/libbsc/handover_logic.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libbsc/handover_logic.c b/src/libbsc/handover_logic.c
index cdc21f5..2d6b6bd 100644
--- a/src/libbsc/handover_logic.c
+++ b/src/libbsc/handover_logic.c
@@ -158,7 +158,9 @@ int bsc_handover_start(enum hodec_id from_hodec_id, struct gsm_lchan *old_lchan,
new_lchan->conn->ho_lchan = new_lchan;
rc = rsl_chan_activate_lchan(new_lchan,
- ho->async ? RSL_ACT_INTER_ASYNC : RSL_ACT_INTER_SYNC,
+ ho->inter_cell
+ ? (ho->async ? RSL_ACT_INTER_ASYNC : RSL_ACT_INTER_SYNC)
+ : RSL_ACT_INTRA_IMM_ASS,
ho->ho_ref);
if (rc < 0) {
LOGPHO(ho, LOGL_INFO, "%s Failure: activate lchan rc = %d\n",
@@ -233,7 +235,10 @@ static int ho_chan_activ_ack(struct gsm_lchan *new_lchan)
/* we can now send the 04.08 HANDOVER COMMAND to the MS
* using the old lchan */
- gsm48_send_ho_cmd(ho->old_lchan, new_lchan, new_lchan->ms_power, ho->ho_ref);
+ if (ho->inter_cell)
+ gsm48_send_ho_cmd(ho->old_lchan, new_lchan, new_lchan->ms_power, ho->ho_ref);
+ else
+ gsm48_send_rr_ass_cmd(ho->old_lchan, new_lchan, new_lchan->ms_power);
/* start T3103. We can continue either with T3103 expiration,
* 04.08 HANDOVER COMPLETE or 04.08 HANDOVER FAIL */