diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common/abis.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/common/abis.c b/src/common/abis.c index f0c9fc4d..defdb443 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -134,6 +134,12 @@ static void sign_link_down(struct e1inp_line *line) struct gsm_bts_trx *trx; LOGP(DABIS, LOGL_ERROR, "Signalling link down\n"); + /* First remove the OML signalling link */ + if (g_bts->oml_link) + e1inp_sign_link_destroy(g_bts->oml_link); + g_bts->oml_link = NULL; + + /* Then iterate over the RSL signalling links */ llist_for_each_entry(trx, &g_bts->trx_list, list) { if (trx->rsl_link) { e1inp_sign_link_destroy(trx->rsl_link); @@ -142,10 +148,6 @@ static void sign_link_down(struct e1inp_line *line) } } - if (g_bts->oml_link) - e1inp_sign_link_destroy(g_bts->oml_link); - g_bts->oml_link = NULL; - bts_model_abis_close(g_bts); } |