aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Sperling <ssperling@sysmocom.de>2018-04-19 14:31:11 +0200
committerHarald Welte <laforge@gnumonks.org>2018-04-24 16:19:19 +0000
commit7b70926ff948be2c2d8d731f2a1676d6b8a2a107 (patch)
treed48e624e087b8875bb8e310233e60c39651d664f
parent0eb91695673f2f54a72147c3b9bc63c0e592e8e7 (diff)
flush paging when RSL link is dropped
Flush the paging queue if the link to TRX 0 is dropped from a BTS. This should prevent stale paging requests sent to the BTS when it disconnects or reconnects, as seen in the TTCN3 BSC_Tests test suite. Also, add entries to the log when RSL or OML links are dropped so that related error messages in the log can be interpreted in context. Change-Id: If4401c1139cd01faf5ff374301a9a701898c3777 Related: OS#2901
-rw-r--r--src/libbsc/bts_ipaccess_nanobts.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libbsc/bts_ipaccess_nanobts.c b/src/libbsc/bts_ipaccess_nanobts.c
index 4f1ac4bd8..d94a87889 100644
--- a/src/libbsc/bts_ipaccess_nanobts.c
+++ b/src/libbsc/bts_ipaccess_nanobts.c
@@ -41,6 +41,7 @@
#include <osmocom/core/logging.h>
#include <osmocom/bsc/ipaccess.h>
#include <osmocom/bsc/bts_ipaccess_nanobts_omlattr.h>
+#include <osmocom/bsc/paging.h>
extern struct gsm_network *bsc_gsmnet;
@@ -357,8 +358,12 @@ void ipaccess_drop_rsl(struct gsm_bts_trx *trx)
if (!trx->rsl_link)
return;
+ LOGP(DLINP, LOGL_NOTICE, "(bts=%d,trx=%d) Dropping RSL link.\n", trx->bts->nr, trx->nr);
e1inp_sign_link_destroy(trx->rsl_link);
trx->rsl_link = NULL;
+
+ if (trx->bts->c0 == trx)
+ paging_flush_bts(trx->bts, NULL);
}
void ipaccess_drop_oml(struct gsm_bts *bts)
@@ -369,6 +374,7 @@ void ipaccess_drop_oml(struct gsm_bts *bts)
if (!bts->oml_link)
return;
+ LOGP(DLINP, LOGL_NOTICE, "(bts=%d) Dropping OML link.\n", bts->nr);
e1inp_sign_link_destroy(bts->oml_link);
bts->oml_link = NULL;
bts->uptime = 0;