[PATCH] osmo-bsc[master]: HO: intra-cell assignment: always use Handover Command, not ...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Fri Jan 19 15:59:32 UTC 2018


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/5922

to look at the new patch set (#7).

HO: intra-cell assignment: always use Handover Command, not Assignment

Before adding handover_decision_2.c in
Ice2d3ef5668564a9d3bc4d5118d59dfaa9af6978 we would always transmit an RR
Handover Command for both inter-cell handover and intra-cell assignment, and
re-assignment within the same cell worked fine. That commit moved to sending an
RR Assignment for intra-cell assignment, and re-assignment stopped working.

I am not sure about the precise reasons, and it may make sense to move back to
an RR Assignment with better fixes. For the meantime, staying with the previous
assignment technique is the easiest way to fix intra-cell re-assignment.

Change-Id: I5c1ec8c228a557ac59a31ea47e21fb856467742e
---
M src/libbsc/handover_logic.c
1 file changed, 4 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/5922/7

diff --git a/src/libbsc/handover_logic.c b/src/libbsc/handover_logic.c
index 0cce1d9..d59cc5e 100644
--- a/src/libbsc/handover_logic.c
+++ b/src/libbsc/handover_logic.c
@@ -171,10 +171,8 @@
 	ho->old_lchan = old_lchan;
 	ho->new_lchan = new_lchan;
 	ho->ho_ref = ho_ref++;
-	if (!do_assignment) {
-		ho->inter_cell = true;
-		ho->async = true;
-	}
+	ho->inter_cell = !do_assignment;
+	ho->async = true;
 
 	LOGPHO(ho, LOGL_INFO, "Triggering %s\n", do_assignment? "Assignment" : "Handover");
 
@@ -199,9 +197,7 @@
 	new_lchan->conn->ho_lchan = new_lchan;
 
 	rc = rsl_chan_activate_lchan(new_lchan,
-				     ho->inter_cell
-				       ? (ho->async ? RSL_ACT_INTER_ASYNC : RSL_ACT_INTER_SYNC)
-				       : RSL_ACT_INTRA_IMM_ASS,
+				     ho->async ? RSL_ACT_INTER_ASYNC : RSL_ACT_INTER_SYNC,
 				     ho->ho_ref);
 	if (rc < 0) {
 		LOGPHO(ho, LOGL_INFO, "%s Failure: activate lchan rc = %d\n",
@@ -276,11 +272,7 @@
 	/* we can now send the 04.08 HANDOVER COMMAND to the MS
 	 * using the old lchan */
 
-	if (ho->inter_cell) {
-		gsm48_send_rr_ass_cmd(ho->old_lchan, new_lchan, new_lchan->ms_power);
-	} else {
-		gsm48_send_ho_cmd(ho->old_lchan, new_lchan, new_lchan->ms_power, ho->ho_ref);
-	}
+	gsm48_send_ho_cmd(ho->old_lchan, new_lchan, new_lchan->ms_power, ho->ho_ref);
 
 	/* start T3103.  We can continue either with T3103 expiration,
 	 * 04.08 HANDOVER COMPLETE or 04.08 HANDOVER FAIL */

-- 
To view, visit https://gerrit.osmocom.org/5922
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5c1ec8c228a557ac59a31ea47e21fb856467742e
Gerrit-PatchSet: 7
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list