Currently only mute_state[0] (refers to ts[0]) is inspected to
determine, whether the Radio Carrier's state is set to LOCK.
This patch changes this by looking at all channels and using LOCK
if (and only if) all channels have been muted successfully.
Sponsored-by: On-Waves ehf
---
src/osmo-bts-sysmo/oml.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index c87acb6..4c63fd5 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -342,9 +342,15 @@ int oml_mo_rf_lock_chg(struct gsm_abis_mo *mo, uint8_t
mute_state[8],
int success)
{
if (success) {
- /* assume mute_state[i] == mute_state[k] */
+ int i;
+ int is_locked = 1;
+
+ for (i = 0; i < ARRAY_SIZE(mute_state); ++i)
+ if (!mute_state[i])
+ is_locked = 0;
+
mo->nm_state.administrative =
- mute_state[0] ? NM_STATE_LOCKED : NM_STATE_UNLOCKED;
+ is_locked ? NM_STATE_LOCKED : NM_STATE_UNLOCKED;
mo->procedure_pending = 0;
return oml_mo_statechg_ack(mo);
} else {
--
1.7.9.5