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.

Change-Id: I054829a936f0aa1e3fa34fad6466a1cd6150e307
Related: OS#2591
---
M src/libbsc/acc_ramp.c
1 file changed, 9 insertions(+), 4 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/libbsc/acc_ramp.c b/src/libbsc/acc_ramp.c
index 16bce3f..7116107 100644
--- a/src/libbsc/acc_ramp.c
+++ b/src/libbsc/acc_ramp.c
@@ -26,6 +26,7 @@
 #include <osmocom/bsc/debug.h>
 #include <osmocom/bsc/acc_ramp.h>
 #include <osmocom/bsc/gsm_data.h>
+#include <osmocom/bsc/chan_alloc.h>
 #include <osmocom/bsc/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/7772
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I054829a936f0aa1e3fa34fad6466a1cd6150e307
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Owner: Stefan Sperling <ssperl...@sysmocom.de>
Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Pau Espin Pedrol <pes...@sysmocom.de>
Gerrit-Reviewer: Stefan Sperling <ssperl...@sysmocom.de>

Reply via email to