pcu_sock: check trx mo state

Make sure that the TRX MO state is enabled and unlocked before filling
in any TRX information into the info indication

Change-Id: I7a93826e6b0df187425310cb82854e7d7fb47e72
Related: OS#5198
This commit is contained in:
Philipp Maier 2023-01-05 15:43:36 +01:00 committed by dexter
parent 2a24613e39
commit a68cdf57a3
1 changed files with 9 additions and 0 deletions

View File

@ -33,6 +33,7 @@
#include <osmocom/core/logging.h>
#include <osmocom/gsm/l1sap.h>
#include <osmocom/gsm/gsm0502.h>
#include <osmocom/bsc/abis_nm.h>
#include <osmocom/bsc/gsm_data.h>
#include <osmocom/bsc/pcu_if.h>
@ -113,6 +114,14 @@ static void info_ind_fill_trx(struct gsm_pcu_if_info_trx *trx_info, const struct
trx_info->pdch_mask = 0;
trx_info->arfcn = trx->arfcn;
if (trx->mo.nm_state.operational != NM_OPSTATE_ENABLED ||
trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) {
LOG_TRX(trx, DPCU, LOGL_INFO, "unavailable for PCU (op=%s adm=%s)\n",
abis_nm_opstate_name(trx->mo.nm_state.operational),
abis_nm_admin_name(trx->mo.nm_state.administrative));
return;
}
for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) {
ts = &trx->ts[tn];
if (ts->mo.nm_state.operational != NM_OPSTATE_ENABLED ||