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
Thu Jul 15 09:28:18 UTC 2021


neels has submitted this change. ( 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, 7 insertions(+), 7 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  daniel: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



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..af36c31 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;
@@ -886,7 +886,7 @@
 		}
 		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;
 		}
 		break;
 	default:
@@ -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: 3
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210715/dcbca3c5/attachment.htm>


More information about the gerrit-log mailing list