diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ecc1f0a06..545019bdc 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1719,6 +1719,18 @@ static inline int is_nokia_bts(struct gsm_bts *bts) return 0; } +static inline int is_ericsson_bts(struct gsm_bts *bts) +{ + switch (bts->type) { + case GSM_BTS_TYPE_RBS2000: + return 1; + default: + break; + } + + return 0; +} + static inline int is_e1_bts(struct gsm_bts *bts) { switch (bts->type) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 23a4e61b3..d3c58f5cf 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1399,6 +1399,10 @@ bool trx_is_usable(const struct gsm_bts_trx *trx) if (!nm_is_running(&trx->mo.nm_state) || !nm_is_running(&trx->bb_transc.mo.nm_state)) return false; + } else if (is_ericsson_bts(trx->bts)) { + /* The OM2000 -> 12.21 mapping we do doesn't have separate bb_transc MO */ + if (!nm_is_running(&trx->mo.nm_state)) + return false; } return true;