Reset the BTS MO State on BTS bootstrap. This way we will always test the BTS disconnect/reconnect case of the BTS.
Do not reset the administrative state of objects. The BSC might have set these and wants to maintain them across disconnect/ reconnect. Right now this is true for the TRX state. --- openbsc/src/libbsc/bsc_init.c | 3 +++ openbsc/src/libcommon/gsm_data_shared.c | 1 - 2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c index 1be8cb7..02a3adf 100644 --- a/openbsc/src/libbsc/bsc_init.c +++ b/openbsc/src/libbsc/bsc_init.c @@ -406,6 +406,9 @@ static int bootstrap_bts(struct gsm_bts *bts)
bts->si_common.ncc_permitted = 0xff;
+ /* Initialize the BTS state */ + gsm_bts_mo_reset(bts); + return 0; }
diff --git a/openbsc/src/libcommon/gsm_data_shared.c b/openbsc/src/libcommon/gsm_data_shared.c index 58e3bed..b52d58a 100644 --- a/openbsc/src/libcommon/gsm_data_shared.c +++ b/openbsc/src/libcommon/gsm_data_shared.c @@ -36,7 +36,6 @@
void gsm_abis_mo_reset(struct gsm_abis_mo *mo) { - mo->nm_state.administrative = NM_STATE_NULL; mo->nm_state.operational = NM_OPSTATE_NULL; mo->nm_state.availability = NM_AVSTATE_POWER_OFF; }