diff options
author | Harald Welte <laforge@gnumonks.org> | 2013-06-30 15:05:09 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2013-06-30 15:09:35 +0200 |
commit | 48eca2524cb960b4ea430e228fcb80be73a512f5 (patch) | |
tree | 2cfadb49aa9ef9341c7bd8af78ebd296808441d1 /src/common | |
parent | 0089ce417822d989778c8a5f362f402578873897 (diff) |
Don't send OML STATE CHANGE before OML is connected
Instead of calling oml_mo_state_chg() [which transmits OML STATE CHG]
during bts_init(), we use a new oml_mo_state_init() function which
simply sets the state.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/bts.c | 10 | ||||
-rw-r--r-- | src/common/oml.c | 7 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/common/bts.c b/src/common/bts.c index bc60479d..e899ebd5 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -79,11 +79,11 @@ int bts_init(struct gsm_bts *bts) btsb->radio_link_timeout = 32; /* set BTS to dependency */ - oml_mo_state_chg(&bts->mo, -1, NM_AVSTATE_DEPENDENCY); - oml_mo_state_chg(&bts->gprs.nse.mo, -1, NM_AVSTATE_DEPENDENCY); - oml_mo_state_chg(&bts->gprs.cell.mo, -1, NM_AVSTATE_DEPENDENCY); - oml_mo_state_chg(&bts->gprs.nsvc[0].mo, -1, NM_AVSTATE_DEPENDENCY); - oml_mo_state_chg(&bts->gprs.nsvc[1].mo, -1, NM_AVSTATE_DEPENDENCY); + oml_mo_state_init(&bts->mo, -1, NM_AVSTATE_DEPENDENCY); + oml_mo_state_init(&bts->gprs.nse.mo, -1, NM_AVSTATE_DEPENDENCY); + oml_mo_state_init(&bts->gprs.cell.mo, -1, NM_AVSTATE_DEPENDENCY); + oml_mo_state_init(&bts->gprs.nsvc[0].mo, -1, NM_AVSTATE_DEPENDENCY); + oml_mo_state_init(&bts->gprs.nsvc[1].mo, -1, NM_AVSTATE_DEPENDENCY); /* initialize bts data structure */ llist_for_each_entry(trx, &bts->trx_list, list) { diff --git a/src/common/oml.c b/src/common/oml.c index 5a647097..62078662 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -229,6 +229,13 @@ int oml_tx_state_changed(struct gsm_abis_mo *mo) return oml_mo_send_msg(mo, nmsg, NM_MT_STATECHG_EVENT_REP); } +/* First initialization of MO, does _not_ generate state changes */ +int oml_mo_state_init(struct gsm_abis_mo *mo, int op_state, int avail_state) +{ + mo->nm_state.availability = avail_state; + mo->nm_state.operational = op_state; +} + int oml_mo_state_chg(struct gsm_abis_mo *mo, int op_state, int avail_state) { int rc = 0; |