diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-09-21 17:11:25 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2021-09-23 12:07:29 +0000 |
commit | 49979bb79444545756f52a028587fa092f9e1bbd (patch) | |
tree | 1cec00423cee7ad51b9fc9264c3821544ab91fe2 /src/common | |
parent | 37f63f12f766beb1e766075796fec4ae3b912e74 (diff) |
abis: Call bts_model_abis_close() when Abis link goes down
This way based on BTS model features it can attempt to reconnect or
simply exit the process.
Change-Id: I42b43a0128bd4b579d9695e6dd2bccf6dc7e1d41
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/abis.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/common/abis.c b/src/common/abis.c index 8e713d27..1722f3de 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -215,12 +215,8 @@ static void abis_link_connected(struct osmo_fsm_inst *fi, uint32_t event, void * trx->rsl_link = NULL; } } - - /* Note: if there was an OML or RSL connection present (the BTS was connected to a BSC). Then we will not try - * to connect to an alternate BSC. Instead we will shut down the BTS process. This will ensure that all states - * in the BTS (hardware and software) are reset properly. It is then up to the process management of the host - * to restart osmo-bts. */ - osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); + bts_model_abis_close(bts); + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_WAIT_RECONNECT, OML_RETRY_TIMER, 0); } static void abis_link_failed_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) @@ -284,7 +280,7 @@ static struct osmo_fsm_state abis_link_fsm_states[] = { .in_event_mask = S(ABIS_LINK_EV_SIGN_LINK_DOWN), .out_state_mask = - S(ABIS_LINK_ST_FAILED), + S(ABIS_LINK_ST_WAIT_RECONNECT), .onenter = abis_link_connected_onenter, .action = abis_link_connected, }, |