[MERGED] openbsc[master]: only trigger acc ramping if trx 0 is usable and unlocked

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Mon Apr 16 15:19:14 UTC 2018


Harald Welte has submitted this change and it was merged.

Change subject: only trigger acc ramping if trx 0 is usable and unlocked
......................................................................


only trigger acc ramping if trx 0 is usable and unlocked

Starting an ACC ramping process while TRX 0 is unusable or locked is
pointless. For instance, after loading a config with 'rf_locked 1'
for trx 0, the ramping process was started as soon as the BTS
established RSL, even though the air interface was still down.
ACC ramping should instead be triggered once TRX 0 is unlocked.

This is a port of osmo-bsc commit 4d3d2436cdf3296ddc110be4022dc2ec13d3eb86
Related: OS#2591

Change-Id: I2cc9c1b8193546ea04ea5beb3751c2206f0215f2
---
M openbsc/src/libbsc/acc_ramp.c
1 file changed, 9 insertions(+), 4 deletions(-)

Approvals:
  Pau Espin Pedrol: Looks good to me, but someone else must approve
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/openbsc/src/libbsc/acc_ramp.c b/openbsc/src/libbsc/acc_ramp.c
index a866458..6e64109 100644
--- a/openbsc/src/libbsc/acc_ramp.c
+++ b/openbsc/src/libbsc/acc_ramp.c
@@ -26,6 +26,7 @@
 #include <openbsc/debug.h>
 #include <openbsc/acc_ramp.h>
 #include <openbsc/gsm_data.h>
+#include <openbsc/chan_alloc.h>
 #include <openbsc/signal.h>
 
 /*
@@ -257,7 +258,7 @@
 
 /*!
  * Determine if ACC ramping should be started according to configuration, and
- * if ACC ramping is enabled, begin the ramping process.
+ * begin the ramping process if the necessary conditions are present.
  * Perform at least one ramping step to allow 'step_size' ACCs.
  * If 'step_size' is ACC_RAMP_STEP_SIZE_MAX, or if ACC ramping is disabled,
  * all ACCs will be allowed immediately.
@@ -269,9 +270,13 @@
 	acc_ramp_abort(acc_ramp);
 
 	if (acc_ramp_is_enabled(acc_ramp)) {
-		/* Set all available ACCs to barred and start ramping up. */
-		barr_all_accs(acc_ramp);
-		do_acc_ramping_step(acc_ramp);
+		struct gsm_bts_trx *trx0 = gsm_bts_trx_by_nr(acc_ramp->bts, 0);
+		/* TRX 0 should be usable and unlocked, otherwise starting ACC ramping is pointless. */
+		if (trx0 && trx_is_usable(trx0) && trx0->mo.nm_state.administrative == NM_STATE_UNLOCKED) {
+			/* Set all available ACCs to barred and start ramping up. */
+			barr_all_accs(acc_ramp);
+			do_acc_ramping_step(acc_ramp);
+		}
 	}
 }
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2cc9c1b8193546ea04ea5beb3751c2206f0215f2
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Stefan Sperling <ssperling at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list