aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-09-21 17:11:25 +0200
committerpespin <pespin@sysmocom.de>2021-09-23 12:07:29 +0000
commit49979bb79444545756f52a028587fa092f9e1bbd (patch)
tree1cec00423cee7ad51b9fc9264c3821544ab91fe2 /src/common
parent37f63f12f766beb1e766075796fec4ae3b912e74 (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.c10
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,
},