Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered

neels gerrit-no-reply at lists.osmocom.org
Tue Jul 13 23:22:23 UTC 2021


neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 )


Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered
......................................................................

ensure trigger_ho() returns zero only when HO or AS was indeed triggered

In an upcoming patch, handover_decision_2.c will use this indicator to
decide whether to start a penalty timer:
"hodec2: add low-rxqual-assignment penalty timer (2/2)"
Id00a07313fe04eec509b336c0637b59c707760e0

Related: SYS#5198
Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee
---
M include/osmocom/bsc/handover_fsm.h
M src/osmo-bsc/handover_decision_2.c
M src/osmo-bsc/handover_fsm.c
3 files changed, 6 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24930/1

diff --git a/include/osmocom/bsc/handover_fsm.h b/include/osmocom/bsc/handover_fsm.h
index 1628d8f..052e09d 100644
--- a/include/osmocom/bsc/handover_fsm.h
+++ b/include/osmocom/bsc/handover_fsm.h
@@ -57,7 +57,7 @@
 
 void handover_fsm_init();
 
-void handover_request(struct handover_out_req *req);
+int handover_request(struct handover_out_req *req);
 void handover_start(struct handover_out_req *req);
 void handover_start_inter_bsc_in(struct gsm_subscriber_connection *conn,
 				 struct msgb *ho_request_msg);
diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c
index 3fa1084..3ebce90 100644
--- a/src/osmo-bsc/handover_decision_2.c
+++ b/src/osmo-bsc/handover_decision_2.c
@@ -854,7 +854,7 @@
 		if ((requirements & REQUIREMENT_TCHF_MASK)) {
 			if (c->current.bts == c->target.bts) {
 				LOGPHOLCHAN(c->current.lchan, LOGL_INFO, "Not performing assignment: Already on target type\n");
-				return 0;
+				return -EALREADY;
 			}
 			full_rate = true;
 			break;
@@ -899,8 +899,8 @@
 		LOGPHOLCHAN(c->current.lchan, LOGL_NOTICE, "Triggering assignment to %s, due to %s\n",
 			    full_rate ? "TCH/F" : "TCH/H",
 			    ho_reason_name(global_ho_reason));
-		reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan,
-						  full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H);
+		return reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan,
+							 full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H);
 	} else {
 		struct handover_out_req req = {
 			.from_hodec_id = HODEC2,
diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c
index 5f4b892..797a336 100644
--- a/src/osmo-bsc/handover_fsm.c
+++ b/src/osmo-bsc/handover_fsm.c
@@ -219,7 +219,7 @@
 	} while(0)
 
 /* issue handover to a cell identified by ARFCN and BSIC */
-void handover_request(struct handover_out_req *req)
+int handover_request(struct handover_out_req *req)
 {
 	struct gsm_subscriber_connection *conn;
 	OSMO_ASSERT(req->old_lchan);
@@ -229,7 +229,7 @@
 
 	/* To make sure we're allowed to start a handover, go through a gscon event dispatch. If that is accepted, the
 	 * same req is passed to handover_start(). */
-	osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req);
+	return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req);
 }
 
 /* Check that ho has old_lchan and/or new_lchan and conn pointers match.

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee
Gerrit-Change-Number: 24930
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210713/1003db7e/attachment.htm>


More information about the gerrit-log mailing list