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.orgHarald Welte has submitted this change and it was merged.
Change subject: load_indication: Fix start of load indication timer
......................................................................
load_indication: Fix start of load indication timer
Starting the timer in bts_init() may result in it expiring already
before the load indication period is set via OML. Let's make
load_timer_start() safe to call several times and call it from OML
code.
Change-Id: I295d91413542014aa2507d5f09e01243fc3916fa
Fixes: OS#2991
---
M src/common/load_indication.c
M src/common/oml.c
2 files changed, 9 insertions(+), 6 deletions(-)
Approvals:
Harald Welte: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/common/load_indication.c b/src/common/load_indication.c
index a445ecb..4756d5a 100644
--- a/src/common/load_indication.c
+++ b/src/common/load_indication.c
@@ -85,11 +85,12 @@
{
struct gsm_bts_role_bts *btsb = bts_role_bts(bts);
- btsb->load.ccch.timer.data = bts;
- btsb->load.ccch.timer.cb = load_timer_cb;
- reset_load_counters(bts);
- osmo_timer_schedule(&btsb->load.ccch.timer,
- btsb->load.ccch.load_ind_period, 0);
+ if (!btsb->load.ccch.timer.data) {
+ btsb->load.ccch.timer.data = bts;
+ btsb->load.ccch.timer.cb = load_timer_cb;
+ reset_load_counters(bts);
+ }
+ osmo_timer_schedule(&btsb->load.ccch.timer, btsb->load.ccch.load_ind_period, 0);
}
void load_timer_stop(struct gsm_bts *bts)
diff --git a/src/common/oml.c b/src/common/oml.c
index 00b85f1..75c2347 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -695,8 +695,10 @@
btsb->load.ccch.load_ind_thresh = *TLVP_VAL(&tp, NM_ATT_CCCH_L_T);
/* 9.4.11 CCCH Load Indication Period */
- if (TLVP_PRES_LEN(&tp, NM_ATT_CCCH_L_I_P, 1))
+ if (TLVP_PRES_LEN(&tp, NM_ATT_CCCH_L_I_P, 1)) {
btsb->load.ccch.load_ind_period = *TLVP_VAL(&tp, NM_ATT_CCCH_L_I_P);
+ load_timer_start(bts);
+ }
/* 9.4.44 RACH Busy Threshold */
if (TLVP_PRES_LEN(&tp, NM_ATT_RACH_B_THRESH, 1)) {
--
To view, visit https://gerrit.osmocom.org/6874
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I295d91413542014aa2507d5f09e01243fc3916fa
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder