diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-11-09 15:18:10 +0300 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-11-09 15:28:30 +0300 |
commit | bc7a490dbc79fdbd08fc4b5ed4ce653510aff5b1 (patch) | |
tree | f61b8dc39312ada99c30ad0d5aed04f99b1f143a | |
parent | common/Makefile.am: reformat {AM_CPPFLAGS,AM_CFLAGS,LDADD} (diff) | |
download | OsmoBTS-bc7a490dbc79fdbd08fc4b5ed4ce653510aff5b1.tar.xz OsmoBTS-bc7a490dbc79fdbd08fc4b5ed4ce653510aff5b1.zip |
rsl: exclude disabled timeslots from interference reports
It may happen after the A-bis connection recovery that the RF RESource
INDication message gets sent too early, while some timeslots are not
yet configured. This confuses the BSC and provokes error messages.
Change-Id: I00bc6fe67ea1bbedcd5d8640e73bd8b16b9e667f
Related: SYS#5313, SYS#4971
-rw-r--r-- | src/common/l1sap.c | 5 | ||||
-rw-r--r-- | src/common/pcu_sock.c | 4 | ||||
-rw-r--r-- | src/common/rsl.c | 5 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 8dee2093..502bcef5 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -597,6 +597,11 @@ static void l1sap_interf_meas_calc_avg(struct gsm_bts_trx *trx) for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + if (ts->mo.nm_state.operational != NM_OPSTATE_ENABLED) + continue; + if (ts->mo.nm_state.availability != NM_AVSTATE_OK) + continue; + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { struct gsm_lchan *lchan = &ts->lchan[ln]; diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index f8a0f55e..0018acb6 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -579,6 +579,10 @@ int pcu_tx_interf_ind(const struct gsm_bts_trx *trx, uint32_t fn) const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; const struct gsm_lchan *lchan = &ts->lchan[0]; + if (ts->mo.nm_state.operational != NM_OPSTATE_ENABLED) + continue; + if (ts->mo.nm_state.availability != NM_AVSTATE_OK) + continue; if (ts_pchan(ts) != GSM_PCHAN_PDCH) continue; diff --git a/src/common/rsl.c b/src/common/rsl.c index 4c84f219..9b73869a 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -442,6 +442,11 @@ int rsl_tx_rf_res(struct gsm_bts_trx *trx) for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { const struct gsm_bts_trx_ts *ts = &trx->ts[tn]; + if (ts->mo.nm_state.operational != NM_OPSTATE_ENABLED) + continue; + if (ts->mo.nm_state.availability != NM_AVSTATE_OK) + continue; + for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) { const struct gsm_lchan *lchan = &ts->lchan[ln]; |